OFF: 如何使用 Word 使用 (OLE) 自動化

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

在此頁中

結論

這份文件包含簡短的描述及詳細說明如何將 Microsoft Word 自動化從另一個應用程式的範例巨集。要取得更詳細資訊,請參閱 < 參考 > 個子節本文結尾處。

其他相關資訊

Microsoft 僅,為了說明提供程式設計範例,不提供任何明示或默示的保證,包括但不是限於適售性以及適合某特定用途之默示擔保責任。本文假設您已熟悉我們所示範的程式設計語言,以及用來建立和偵錯程序的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能,但它們不會修改這些範例以提供附加功能或建構程序,以符合您的特定需求。
如果您有限制程式設計經驗,您可以連絡 Microsoft 認證合作夥伴或 Microsoft 諮詢服務。如需詳細資訊請造訪下列 Microsoft] 網站:

Microsoft 認證合作夥伴-https://partner.microsoft.com/global/30000104

Microsoft 摘要報告服務-http://support.microsoft.com/gp/advisoryservice

如需有關可用的支援選項,以及有關如何連絡 Microsoft 的詳細資訊,請造訪下列 Microsoft 網站: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
自動化 (之前稱為 OLE 自動化) 是程式用來公開其物件以開發工具、 巨集語言和其他支援自動化的程式的功能。例如試算表程式可能會公開工作表、 圖表、,格或範圍的儲存格,每成不同類型的物件。文書處理器可能會公開為應用程式、 文件、 段落、 句子、 一個書籤或選取範圍等物件。

當程式支援自動化時,您可以使用 Visual Basic 應用程式來存取它所公開的物件。藉由叫用方法在物件上,或藉由取得並設定物件的屬性操作這些物件在 Visual Basic 中。

您可以控制 Word 使用程式碼範例本文,從 Microsoft Access 97、 Microsoft Excel 97、 Microsoft PowerPoint 97、 應用程式的 Microsoft Visual Basic 或其他任何控制項 Word 中支援自動化的用戶端。

[快速入門

有四個主要的步驟,以自動化 Word 的 Windows。
  1. 加入 Microsoft Word 8.0 物件程式庫的參考。
  2. 將變數宣告為 Word 物件型別。
  3. 指派給您在步驟 2 中宣告的物件變數 CreateObject 函式傳回的物件。
  4. 使用 [以自動化 Word 的 [屬性和方法的物件變數]。

步驟 1: 新增 Word 8.0 物件程式庫的參考

如果要將參考加入至 [Microsoft Word 8.0 物件程式庫使用 Microsoft Access 97、 Microsoft PowerPoint 97 或 Microsoft Excel 97,請依照下列步驟執行:
  1. 在 Microsoft Access,PowerPoint 或 Excel,在 [工具] 功能表上的指向 [巨集,然後按一下 [Visual Basic 編輯器]。
  2. 在 Visual Basic 編輯器,在 [工具] 功能表上按一下 引用項目
  3. 在 [可引用的項目 清單,按一下以選取 (核取) Microsoft Word 8.0 物件程式庫 核取方塊。
注意: 若要加入參考使用 Microsoft Visual Basic 5.0,按一下 [專案] 功能表上的 [參考

加入 Microsoft Word 8.0 物件程式庫的參考可以讓您存取 Microsoft Word 線上說明和 Microsoft Word Visual Basic,應用程式的常數、 屬性,以及方法的程式。附註 Word 8.0 物件程式庫參考,才能直接自動化 Word 物件型別。

將參考加入至 Word 8.0 物件程式庫就稱為早期繫結。

如需有關早期繫結的詳細資訊,請參閱 「 Microsoft 知識庫 」 中下列文:
138138資訊: 晚期,識別碼,早期繫結類型請盡量在 VB 中的應用程式

步驟 2: 宣告物件變數

若要宣告物件變數,您維度變數就像維度任何變數不同之處在於宣告該物件時,指定型別。例如,Word.Application]、 [文件,] 和 [段落] 都是個別的 Word 物件。

下列範例命令列將變數 objWD 宣告為型別 Word.Application 物件:

   Dim objWD as Word.Application

				

步驟 3: 設定該變數

有兩種您可以使用 「 繫結 」 到 Word 的已宣告的物件變數的 Visual Basic 函式: CreateObjectGetObject。主要的不同是 Word 的 Word 的 CreateObject 函式會建立新的執行個體雖然 GetObject 函式會使用現有或已經執行執行個體。 您也可以使用 GetObject 將物件變數繫結至特定的 Word 文件。

下列的命令列範例將 objWD 變數繫結至 Word 使用 CreateObject 函式:

   Dim objWD as Word.Application
   Set objWD = CreateObject("Word.Application")

				
下列的範例命令列將 objWdDoc 變數繫結至特定的 Word 文件:
   Dim objWdDoc As Word.Document
   Set objWdDoc = GetObject("c:\my documents\doc1.doc")
				
注意: 建議只使用 CreateObject 函數以自動化 Word 的 Windows。如果執行 WordMail 或另一個程式內的內嵌 Word 文件,GetObject 函式會導致無法預期的行為。

如需有關如何取得應用程式的說明與 Visual Basic 的詳細資訊,請參閱 「 Microsoft 知識庫 」 中下列文:
185232使用 WordMail WD97: 錯誤訊息: '此方法或屬性不適用'

步驟 4: 使用屬性和方法來自動化 Word

當您完成步驟 1-3 您可以使用物件變數,以自動化 Word。

下列範例巨集在使用使用自動化,以建立 Word 物件、 建立新的文件、 新增一些文字並儲存文件。
Sub AutomateWord()
   ' Declare the variable.
   Dim objWD As Word.Application
   ' Set the variable (runs new instance of Word.)
   Set objWD = CreateObject("Word.Application")
   ' Add a new document.
   objWD.Documents.Add
   ' Add some text.
   objWD.Selection.TypeText "This is some text."
   ' Save the document.
   objWD.ActiveDocument.SaveAs filename:="mydoc.doc"
   ' Quit Word.
   objWD.Quit
   ' Clear the variable from memory.
   Set objWD = Nothing
End Sub
				
注意: 的下列範例巨集會複製 AutomateWord 巨集所述的程序,並直接在 Word 中執行:
Sub WordMacro()
   Documents.Add
   Selection.TypeText "This is some text"
   ActiveDocument.SaveAs filename:="mydoc.doc"
   Quit
End Sub
				

參考

如需詳細資訊自動化 Word 使用 Visual Basic 應用程式的特定,請參閱下列資源。

Microsoft Office 開發 o 人 h 員 ? 工 u 具 ? Web 站台

http://www.msdn.microsoft.com/office

Microsoft Office 97/Visual 基本程式設計人員指南

在 Microsoft Office 97/Visual 基本程式設計人員指南 》 的 Microsoft Word 物件本章使用自動化 (ISBN: 1-57231-340-4)。

-或者-

檢視輔助線線上為:
http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/office97/html/web/fulltoc.asp

新聞群組

下列的對等新聞群組可協助您與 Visual Basic 的其他使用者互動的應用程式:
microsoft.public.word.vba.addins
microsoft.public.word.vba.beginners
microsoft.public.word.vba.customization
microsoft.public.vb.ole.automation

知識庫

如需有關如何取得應用程式的說明與 Visual Basic 的詳細資訊,請參閱下列文件 「 Microsoft 知識庫 」 中:
163435VBA: 應用程式的 Visual Basic 程式設計資源

173707OFF97: 如何執行範例程式碼從眭舑恅梒

163425WD97: 巨集程式設計資源

Office 小幫手

自動化在 Visual Basic 編輯器的相關資訊按一下 [Office 小幫手],鍵入 「 自動化 」]、 按一下 [搜尋],然後再按一下,檢視 「 Communicating 與其他應用程式 」。

注意: 如果隱藏 [小幫手] 按一下 [一般] 工具列上的 [Office 小幫手] 按鈕。如果小幫手無法回答您的查詢,請參閱下列的 「 Microsoft 知識庫 」 中的文件:
176476OFF: Office 小幫手無法回答 Visual Basic 問題

屬性

文章編號: 184974 - 上次校閱: 2007年1月22日 - 版次: 4.3
這篇文章中的資訊適用於:
  • Microsoft Excel 97 Standard Edition
  • Microsoft Word 97 Standard Edition
  • Microsoft Visual Basic for Applications 5.0
關鍵字:?
kbmt kbdtacode kbhowto kbinterop kbprogramming KB184974 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:184974
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。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