如何尋找並使用 Office 物件模型文件

文章翻譯 文章翻譯
文章編號: 222101 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您,在自動化 Microsoft Office 應用程式時可以使用的資源和文件。無論您使用何種程式設計語言來自動化 Office 應用程式,都可以運用這項資訊。此外,本文也將告訴您如何依照文件的指示,尋找您在進行自動化的過程中用來完成特定工作的必要資訊,讓您能夠著手編寫自動化程式碼。

其他相關資訊

我可以在何處找到物件模型文件?

Office 應用程式的物件模型記載在兩個 Office 版本的語言參考中:Microsoft Office 97 Visual Basic for Applications 語言參考
ISBN 1-57231-339-0

Microsoft Office 2000 Visual Basic for Applications 語言參考
ISBN 1-57231-955-0。
語言參考可以從 MSDN 和 Microsoft Office 隨附的線上說明取得。您也可以購買印刷版的語言參考。如需訂購資訊,請造訪:
http://mspress.microsoft.com
下列表格列出每個 Office 應用程式的說明檔。

摺疊此表格展開此表格
應用程式97 版 (或 8.0)2000 版 (或 9.0)2002 版 (或 10)2003 版 (或 11)
OfficeVbaoff8.hlpVbaoff9.chmVbaof10.chmVbaof11.chm
AccessAcvba80.hlpAcmain9.chmAcmain10.chm、Vbaac10.chmACMAIN11.chm、VBAAC10.chm
ExcelVbaXl8.hlpVbaxl9.chmVbaxl10.chmVBAXL10.chm
MapPointN/AMappoint.chm (2001 版)Mappoint.chmMAPPOINT.chmn (Ver.2004)
OutlookVbaoutl.hlpVbaoutl9.chmVbaol10.chmVBAOL11.chm
PowerPointVbappt.hlpVbappt9.chmVbapp10.chmVBAPP10.chm
WordVbawrd8.hlpVbawrd9.chmVbawd10.chmVBAWD10.chm
GraphVbagrp8.hlpVbagrp9.chmVbagr10.chmVBAGR10.chm
FrontPageN/AVbafp4.chm、Vbafpom4.chmVbafpd10.chm、vbafpw10.chmVBAFPD10.chm、VBAFPW10.chm
BinderVbabdr8.hlpVbabdr8.hlp停止提供


根據預設,Microsoft Office 97 隨附的說明檔會安裝在:
C:\Program Files\Microsoft Office\Office
如果您找不到所需的 Office 97 VBA 說明檔,很可能是因為您當初執行 Office 97 安裝程式時,未一併安裝說明檔。如果要安裝說明檔,請執行 Office 安裝程式以加入 VBA 說明檔。請注意,Outlook 97 VBA 說明檔不是由 Office 安裝程式安裝的。如需有關安裝 Outlook 97 VBA 說明檔的詳細資訊,請參閱「Microsoft 知識庫」中的下列文件:
166738 OL97:How to install Visual Basic Help
根據預設,Microsoft Office 2000 隨附的說明檔會安裝在:
C:\Program Files\Microsoft Office\Office\1033
根據預設,Microsoft Office XP 隨附的說明檔會安裝在:
C:\Program Files\Microsoft Office\Office10\1033
C:\Program Files\Microsoft Office\Office11\1033
注意:Microsoft Office 2000、Microsoft Office XP 和 Microsoft Office 2003 安裝程式會在您第一次使用時安裝 VBA 說明檔。因此,如果您先前未曾嘗試存取 Office 應用程式中的 VBA 說明,便可能不會在這個目錄中看到說明檔。

我該如何使用物件模型文件?

您可以採用數種方法,尋找有關特定類別、方法或屬性的文件:
  • 搜尋 VBA 說明檔:

    在 Office 應用程式的 [Visual Basic 編輯器] 中,按一下 [說明] 功能表上的 [內容][索引]。在 [內容] 索引標籤上,選取您想要的語言參考,並按一下 [顯示]。您所選取之語言參考的 VBA 說明便會出現。此時,您可以使用 [索引][尋找] 索引標籤來尋找有關特定類別、方法或屬性的資訊。
  • 使用模組或 [立即窗格] 中的 [即時線上說明]:

    在 Office 應用程式的 [Visual Basic 編輯器] 中,在模組的程式碼視窗或 [即時運算視窗] 中輸入類別、方法或屬性,再將文字反白顯示,然後按下 F1 鍵。該項目的說明主題便會出現。
  • 使用物件瀏覽器:

    在 Office 應用程式的 [Visual Basic 編輯器] 中按下 F2 鍵,以顯示 [物件瀏覽器][物件瀏覽器] 會列出應用程式公開的類別,以及與每個類別相關的方法或屬性。如果要檢視特定類別或類別成員的說明,請在 [物件瀏覽器] 中選取該類別或類別成員,再按下 F1 鍵。

如何知道該使用哪些類別、方法和屬性?

如果您還不熟悉要自動化之應用程式的物件模型,您可以使用應用程式的「巨集錄製器」來一探究竟。為了進一步說明,假設您想要將 Microsoft Word 自動化,以便將某些文字加入新的文件並加以儲存,但是您不知道該使用哪些方法和屬性,您可以從「巨集錄製器」著手:
  1. 啟動 Microsoft Word。
  2. 按一下 [工具] 功能表上的 [巨集],然後選取 [錄製新巨集]。記下新巨集的名稱,並按一下 [確定] 開始錄製。
  3. 開啟新文件。
  4. 輸入 one 並按下 ENTER 鍵。
  5. 輸入 two 並按下 ENTER 鍵。
  6. 輸入 three
  7. 按一下 [檔案] 功能表上的 [儲存檔案],將文件另存為 C:\doc1.doc。
  8. 按一下 [停止錄製] 按鈕 (或按一下 [工具] 功能表上的 [巨集],再選取 [停止錄製])。
  9. 如果要檢視執行上述動作之後「巨集錄製器」所產生的 VBA 程式碼,請按一下 [工具] 功能表上的 [巨集],再選取 [巨集]。選取清單中新巨集的名稱,然後按一下 [編輯]。[Visual Basic 編輯器] 便會顯示錄製的巨集:
     Documents.Add
     Selection.TypeText Text:="one"
     Selection.TypeParagraph
     Selection.TypeText Text:="two"
     Selection.TypeParagraph
     Selection.TypeText Text:="three"
     ActiveDocument.SaveAs FileName:="Doc1.doc", FileFormat:=wdFormatDocument,_
       LockComments:=False, Password:="", AddToRecentFiles:=True, _ 
       WritePassword:="", ReadOnlyRecommended:=False, _
       EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
       SaveFormsData:=False, SaveAsAOCELetter:= False
    					
瞭解每個類別如何與物件模型搭配運作,以及記住您所使用方法和屬性之所有參數的描述和型別,都將讓您受益不少。

從所錄製巨集的第一行:Documents.Add 開始檢查。在所錄製巨集的程式碼模組上反白顯示 Documents,並按下 F1 鍵。說明主題會提供您下列重要資訊:
  • Documents 屬性會傳回 Documents 集合,該集合表示所有開啟的文件。
  • Document 屬性會套用至 Application 物件。
返回錄製的巨集,並在程式碼模組上反白顯示 Add,然後按下 F1 鍵。說明主題便會出現,顯示許多不同的物件都具有 Add 方法。按一下 Documents 以查看有關 Documents 集合的 Add 方法說明。說明主題會提供您下列重要資訊:
  • Add 方法會將全新的空白文件新增至開啟文件的集合中。
  • Add 方法可以使用兩個選舉性的引數。
現在,檢查所錄集巨集中的下一行:Selection.TypeText Text:="one",在程式碼模組上反白顯示 Selection,然後按下 F1 鍵:
  • Selection 屬性會傳回代表選取範圍或插入點的 Selection 物件。
  • Selection 屬性會套用至 Application 物件。
返回錄製的巨集,並在程式碼模組上反白顯示 TypeText,然後按下 F1 鍵:
  • TypeText 方法會插入指定的文字。
  • TypeText 方法具有一個型別 String 的必要引數。
  • TypeText 方法會套用至 Selection 物件。
接著,查看有關 TypeParagraph 的說明主題:
  • TypeParagraph 方法會插入新的空白段落。
  • TypeParagraph 方法會套用至 Selection 物件且沒有引數。
查看有關 ActiveDocument 屬性和 SaveAs 方法的說明主題:
  • ActiveDocument 屬性會傳回 Document 物件,代表該文件擁有控制權。ActiveDocument 會套用至 Application 物件。
  • SaveAs 方法會儲存文件。視 Word 的版本而定,這個方法具有 11 至 16 個引數,但只需要其中的一個引數。SaveAs 會套用至 Document 物件。
在錄製的巨集中,您可能已經注意到 Documents 屬性、Selection 屬性和 ActiveDocument 屬性都屬於套用至 Application 物件的屬性,但都還不是以 Application 限定的屬性。Application 物件是所有屬性的預設物件,因此在 VBA 巨集中撰寫程式碼時,可以忽略此物件。撰寫自動化程式碼時則不適用此一規則,因為所有的屬性和方法都應該完整地限定在您的自動化程式碼中。

一旦檢視錄製的巨集,您就會看到 SaveAs 方法具有用來傳遞內建常數 wdFormatDocument 的引數。視您用於 Automation 控制程式的程式設計語言而定,您可能需要傳遞數值來當做內建常數。SaveAs 方法的說明主題中並未提供這項資訊,但是您可以在 [物件瀏覽器] 中找到相關主題。按下 F2 鍵以顯示 [物件瀏覽器]。在搜尋視窗中輸入:

wdFormatDocument

,並按下 ENTER 鍵。在 [物件瀏覽器] 的底部窗格中,您會看到 wdFormatDocument(=0) 的相同數值,以及與常數相關的其他資訊。

?考

我可以在何處找到一些自動化程式碼範例?

截至目前為止,您所讀到的資訊應該讓您對撰寫自動化程式碼有了基本的瞭解。「Microsoft 知識庫」是用來尋找以 Visual Basic、Visual C++ 和 MFC 撰寫之自動化程式碼範例的絕佳資源。這裡僅提供部分文件:

提供給 Visual Basic 開發人員

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
220595 如何使用 Visual Basic 使 Outlook 自動化
219151 如何從 Visual Basic 將 Microsoft Excel 自動化
147650 How To Navigate Excel Objects from Visual Basic
142387 How To Create Excel Chart w/OLE Automation from Visual Basic
184974 OFF: How to Use (OLE) Automation with Word
220607 How To Automate Microsoft Word to Perform Mail Merge from Visual Basic
222929 How to automate PowerPoint by using Visual Basic in Office 2003, in Office XP Developer, and in Office 2000 Developer

Visual C++ 開發人員 (使用 MFC)

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
178749 How to create an automation project using MFC and a type library
179706 How to use MFC to automate Excel and create and format a new workbook
186120 How To Use MFC to Automate Excel and Fill a Range with an Array
186122 How to use MFC to automate Excel 2000 and Excel 2002 and obtain an array from a range in Excel 2000 and Excel 2002
220911 How To Automate Microsoft Word to Perform a Mail Merge Using Visual C++ and MFC
222960 How to automate PowerPoint by using Visual C++ 5.0 or Visual C++ 6.0 with The Microsoft Foundation Classes

C/C++ 開發人員 (不使用 MFC)

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
216686 How To Automate Excel From C++ Without Using MFC or #import
181473 HOWTO:Use OLE Automation from a C Application Rather Than C++

Visual J++ 開發人員

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
219430 How To Create/Format an Excel Workbook Using Visual J++ Automation
215484 How to automate PowerPoint by using Visual J++ 6.0

Visual FoxPro 開發人員

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
142193 How To Use OLE Automation to Add Data to Excel Sheet
180901 How to create a categorized table in Word 97 or in Office Word 2003 from Visual FoxPro for Windows 5.0 and later versions
181926 How to automate mail merge to Word using OLE and ODBC
194306 How to make Word print duplex by using OLE automation from Visual FoxPro
230154 How To Automate PowerPoint Using Visual FoxPro
241942 How To Prevent Word Printing Error with BackgroundPrintingStatus Property
如需有關自動化 Microsoft Office 之範例程式碼和資源的詳細資訊,請造訪下列 Microsoft 網站:
http://support.microsoft.com/gp/ofd

屬性

文章編號: 222101 - 上次校閱: 2006年2月16日 - 版次: 6.1
這篇文章中的資訊適用於:
  • Microsoft Office Standard Edition 2003
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 4.0 Enterprise Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Visual C++ 4.0 Professional Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual J++ 6.0 Standard Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2003 專業版
  • Microsoft Access 2002 Standard Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 97 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft FrontPage 2002 Standard Edition
  • Microsoft FrontPage 2000 Standard Edition
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft Outlook 97 Standard Edition
  • Microsoft Outlook 98 Standard Edition
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft PowerPoint 97 Standard Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft Word 97 Standard Edition
  • Microsoft Visual FoxPro 5.0a
  • Microsoft Visual FoxPro 6.0 Professional Edition
  • Microsoft MapPoint 2002 Standard Edition
  • Microsoft MapPoint 2001 Standard Edition
關鍵字:?
_ik11561 _ik11593 kbautomation kbgrpdso kbhowto kbvba kbvbp400 kbvbp500 kbvbp600 KB222101
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com