以下是Excel、Word和Access在VBA中的主要區別對比及詳細說明:
-
核心對象模型
-
Excel
Workbook
(工作簿)→Worksheet
(工作表)→Range
(單元格區域)
核心圍繞單元格數據處理,如Cells(1,1).Value = "數據"
-
Word
Document
(文檔)→Range
(文本范圍)→Paragraph
(段落)
強調文本結構,如ActiveDocument.Range.InsertAfter "新文本"
-
Access
Database
(數據庫)→TableDef
(表)→Recordset
(記錄集)
數據庫操作核心,如CurrentDb.Execute "UPDATE表SET字段=值"
-
-
自動化執行方式
-
Excel
Workbook_Open()
(工作簿打開事件)
Auto_Open
(傳統模塊級自動宏) -
Word
Document_Open()
(文檔打開事件)
AutoOpen
(全局自動宏,需在標準模塊定義) -
Access
AutoExec
(唯一自動宏,通過宏設計器創建)
無直接VBA自動執行方法,需通過啟動選項設置
-
-
數據操作范式
-
Excel
Range("A1").Value = 100 ' 直接單元格賦值 Worksheets.Add ' 動態創建工作表
支持多維數組快速寫入:
Range("A1:C3").Value = MyArray
-
Word
Selection.TypeText "插入內容" ' 基于光標操作 ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=3 ' 創建表格
書簽定位:
ActiveDocument.Bookmarks("BM1").Range.Text = "更新內容"
-
Access
Dim rs As Recordset Set rs = CurrentDb.OpenRecordset("SELECT * FROM 表") rs.Edit rs!字段名 = "值" rs.Update
SQL直通查詢:
CurrentDb.Execute "INSERT INTO表(字段) VALUES('數據')"
-
-
用戶界面集成
-
Excel
用戶窗體(UserForm) + 功能區自定義
快速訪問工具欄編程:Application.QuickAccessToolbar.Controls.Add
-
Word
內容控件(ContentControl) + 自定義文檔部件
構建模板:ActiveDocument.AttachedTemplate.BuildingBlockEntries
-
Access
窗體/報表設計視圖 + 導航面板定制
動態窗體控制:Forms!主窗體.Controls("文本框").Value = DLookup("字段","表")
-
-
文件結構特性