Microsoft visual basic for applications extensibility 5.3 là gì năm 2024

Many of the objects in the VBE object model have the same names as objects in the Excel object model. To distinguish the libraries and to ensure that you have the object from the VBE library, you need to include the VBIDE library name in any Dim statements you may use:

Dim oWinVB As VBIDE.Window 'Always gives a VBE Window Dim oWinXL As Excel.Window 'Always gives an XL Window Dim oWin As Window 'Gives an XL Window

All of the applications in Office 2007 share the same development environment — the VBE. The code and forms that belong to each Excel workbook, Word document, Access database, or PowerPoint presentation (that is, the "host document") are grouped into Visual Basic projects (the VBProject object). There is one project for each host document. Outlook has a single Project, which "belongs" to the application.

Visual Basic for Applications (VBA) là một sự bổ sung của Microsoft's Visual Basic, được xây dựng trong tất cả các ứng dụng Microsoft Office (bao gồm cả phiên bản cho hệ điều hành Mac OS), một số ứng dụng của Microsoft khác như Microsoft MapPoint và Microsoft Visio - một ứng dụng trước đây của Microsoft; ít nhất đã được bổ sung thành công trong những ứng dụng khác như AutoCAD, WordPerfect và ESRI ArcGIS. Nó đã được thay thế và mở rộng trên khả năng của ngôn ngữ macro đặc trưng như WordBasic của Word, và có thể được sử dụng để điều khiển hầu hết tất cả khía cạnh của ứng dụng chủ, kể cả vận dụng nét riêng biệt về giao diện người dùng như các menu và toolbar và làm việc với các hình thái hoặc hộp thoại tùy ý. VBA có thể được sử dụng để tạo ra các bộ lọc xuất nhập cho các định dạng tập tin khác nhau như ODF.

Như tên gọi của mình, VBA khá gần gũi với Visual Basic, nhưng nó chỉ có thể chạy trong ứng dụng chủ chứ không phải 1 chương trình độc lập. Nó có thể được dùng để điều khiển 1 ứng dụng từ 1 OLE tự động (ví dụ, tự động tạo một bản báo cáo bằng Word từ dữ liệu trong Excel).

VBA có nhiều khả năng và cực kì mềm dẻo nhưng nó có một số hạn chế quan trọng, bao gồm hỗ trợ hạn chế cho các hàm gọi lại. Nó có khả năng sử dụng (nhưng không tạo ra) các thư viện động, và các phân bản sau hỗ trợ cho các mô-đun lớp (class modules).

Sử dụng[sửa | sửa mã nguồn]

Hầu hết các sản phẩm phần mềm (Autodesk AutoCAD / Microsoft Office / Adobe Illustrator) trang bị một 'Kiểu đối tượng' cho môi trường Visual Basic cho phép người dùng tạo ra mọi thứ từ các macro nhỏ để biểu diễn yêu cầu lặp lại cho chương trình bao quát để thêm khả năng cho chương trình chủ.

Macros có thể được gắn vào một menu, nút nhấn hoặc bàn phím.

Các ví dụ[sửa | sửa mã nguồn]

Một công dụng phổ biến của VBA là thêm hàm vào giao diện ứng dụng chuẩn. Macro này chuẩn bị một shortcut để nhập ngày hiện tại trong Word:

Sub NhapNgayHienTai() ' NhapNgayHienTai Macro ' Macro recorded 15/03/2005 by UserName ' Selection.InsertDateTime DateTimeFormat:="d-MMM-yy", InsertAsField:=False, _ DateLanguage:=wdEnglishAUS, CalendarType:=wdCalendarWestern, _ InsertAsFullWidth:=False End Sub

VBA rất có ích trong việc tự động cập nhật dữ liệu qua một bảng:

Sub LoopTableExample Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb Set rs = db.OpenRecordset("SELECT * FROM tblMain") Do Until rs.EOF MsgBox rs!FieldName rs.MoveNext Loop Set rs = Nothing Set db = Nothing End Sub

VBA có thể dùng để thêm hàm mới trong bảng tính Microsoft Excel:

' EX VBA

Public Function BusinessDayPrior(dt As Date) As Date Select Case Weekday(dt, vbMonday) Case 1 BusinessDayPrior = dt - 3 Case 7 BusinessDayPrior = dt - 2 Case Else BusinessDayPrior = dt - 1 End Select End Function

Tương lai[sửa | sửa mã nguồn]

Microsoft có kế hoạch thay thế VBA bằng Visual Studio Tools for Applications (VSTA), một bộ công cụ thay đổi ứng dụng có nền tảng.Net. Tuy nhiên những kĩ thuật này vẫn đang được nghiên cứu, vì vậy ít nhất bộ Office 2007 vẫn sẽ dùng công nghệ VBA.

Chủ đề