共用方式為


了解物件、屬性及方法

物件是 Microsoft Visual Basic 的基本建置組塊;您在 Visual Basic 中所做的幾乎一切都牽涉到修改物件。 Microsoft Word 的每個元素,例如檔、表格、段落、書簽和欄位,都可以由 Visual Basic 中的物件表示。

何謂物件和集合?

物件代表 Word 的專案,例如檔、段落、書簽或單一字元。 集合是包含數個其他物件的物件,通常是相同類型;例如,檔中的所有書簽物件都包含在單一集合物件中。 藉由使用屬性和方法,您可以修改單一物件或整個物件集合。

什麼是屬性?

屬性 (Property) 是指物件的屬性 (Attribute) 或某一方面的行為。 例如,文件的屬性 (Property) 會包含文件的名稱、內容及儲存狀態,以及是否開啟追蹤修訂。 若要變更物件的特性,您可以變更其屬性 (Property) 的值。

若要設定屬性的值,請依序輸入物件的參照並加上句點、屬性名稱、等號及新的屬性值。 下列範例會在名為 "MyDoc.doc" 的文件中,開啟追蹤修訂。

Sub TrackChanges() 
    Documents("Sales.doc").TrackRevisions = True 
End Sub

在此範例中, Documents 是指開啟的檔集合,而名稱 「Sales.doc」 會識別集合中的單一檔。 TrackRevisions 屬性是針對該單一文件設定的。

某些屬性無法設定。 屬性的說明主題會指出該屬性是可進行設定 (可讀寫的) 或只能讀取 (唯讀的)。

您可以透過傳回物件其中一個屬性的值,傳回該物件的相關資訊。 下列範例會傳回使用中文件的名稱。

Sub GetDocumentName() 
    Dim strDocName As String 
    strDocName = ActiveDocument.Name 
    MsgBox strDocName 
End Sub

在此範例中, ActiveDocument 會參照 Word 中使用中視窗中的檔。 該檔的名稱會指派給變數,參照 Word 中使用中視窗中的檔。 該檔的名稱會指派給變數 strDocName

註解

每個屬性的說明主題都會指出您可以設定該屬性 (可讀寫的)、只能讀取該屬性 (唯讀的) 或只能寫入該屬性 (唯寫的)。 此外,Visual Basic 編輯器中的 [物件瀏覽] 會在選取屬性後,於瀏覽器視窗的底部顯示可讀寫的狀態。

什麼是方法?

方法指的是物件可執行的動作。 例如,就如同文件可以列印一樣, Document 物件具有 PrintOut 方法。 方法通常會具有引數,以便限定執行動作的方式。 下列範例會列印使用中文件的前三頁。

Sub PrintThreePages() 
    ActiveDocument.PrintOut Range:=wdPrintRangeOfPages, Pages:="1-3" 
End Sub

在大部分情況下,方法是動作而屬性是品質。 使用方法會對物件造成某種影響,而使用屬性則會傳回物件的相關資訊或導致與物件相關的品質變更。

傳回物件

大部分物件都是透過從集合中傳回單一物件所傳回的。 例如, Documents 集合包含已開啟的 Word 文件。 您可以使用 Application 物件 (位於 Word 物件階層頂端的物件) 的 Documents 屬性來傳回 Documents 集合。

存取此集合後,您就可以使用括號中的索引值來傳回單一物件 (與使用陣列的方式很類似)。 索引值通常是數字或名稱。 如需詳細資訊,請參閱傳回集合中的物件

下列範例會使用 Documents 屬性來存取 Documents 集合。 索引編號是用來傳回 Documents 集合中的第一份文件。 然後, Close 方法會套用至 Document 物件,以便關閉 Documents 集合中的第一份文件。

Sub CloseDocument() 
    Documents(1).Close 
End Sub

下列範例會使用名稱 (指定為字串) 來識別 Documents 集合中的 Document 物件。

Sub CloseSalesDoc() 
    Documents("Sales.doc").Close 
End Sub

集合物件通常具有方法和屬性,可用來修改物件的整個集合。 Documents 物件具有 Save 方法,可儲存集合中的所有文件。 下列範例會套用 Save 方法來儲存已開啟的文件。

Sub SaveAllOpenDocuments() 
    Documents.Save 
End Sub

Document物件也有 Save 方法可用來儲存單一檔。 下列範例會儲存名為 Sales.doc 的文件。

Sub SaveSalesDoc() 
    Documents("Sales.doc").Save 
End Sub

若要傳回位於 Word 物件階層中更下層的物件,您就必須透過使用屬性和方法來傳回物件,以便「向下切入」至物件。

To see how this is done, open the Visual Basic Editor and click Object Browser on the View menu. Click Application in the Classes list on the left. Then click ActiveDocument from the list of members on the right. The text at the bottom of the Object Browser indicates that ActiveDocument is a read-only property that returns a Document object. Click Document at the bottom of the Object Browser; the Document object is automatically selected in the Classes list, and the Members list displays the members of the Document object. Scroll through the list of members until you find Close. Click the Close method. The text at the bottom of the Object Browser window shows the syntax for the method. For more information about the method, press F1 or click the Help button to jump to the Close method Help topic.

提供這項資訊後,您就可以撰寫下列指令以關閉使用中文件。

Sub CloseDocSaveChanges() 
    ActiveDocument.Close SaveChanges:=wdSaveChanges 
End Sub

下列範例會將使用中文件視窗最大化。

Sub MaximizeDocumentWindow() 
    ActiveDocument.ActiveWindow.WindowState = wdWindowStateMaximize 
End Sub

ActiveWindow 屬性會傳回表示使用中視窗的 Window 物件。 WindowState 屬性會設定為最大化常數 (wdWindowStateMaximize)。

下列範例會建立檔並顯示 [另 存新 檔] 對話方塊,以便為檔提供名稱。

Sub CreateSaveNewDocument() 
    Documents.Add.Save 
End Sub

Documents 屬性會傳回 Documents 集合。 Add 方法會建立一份新文件並傳回 Document 物件。 然後, Save 方法會套用至 Document 物件。

如上所述,您可以使用方法或屬性來向下切入至某個物件。 也就是說,您可以將方法或屬性套用至位於物件階層中更上層的物件,藉以傳回下層物件。 傳回您想要的物件之後,您可以套用方法並控制該物件的屬性。

取得物件、方法及屬性的相關說明

在您熟悉 Word 物件模型之前,您可以使用一些工具來協助您向下鑽研階層。

  • Microsoft IntelliSense。 當您在 Visual Basic 編輯器中的物件之後輸入 (.) 句點時,會顯示可用屬性和方法的清單。 例如,如果您輸入 Application. ,則會顯示 Application 物件的方法 和屬性下拉式清單。

  • 說明。 您也可以使用 [說明] 來找出哪些屬性和方法可以與 物件搭配使用。 [說明] 中的每個物件主題都包含 [另請參閱] 跳躍,其中會顯示物件的屬性和方法清單。 在物件瀏覽器或模組中按 F1 鍵,以跳至適當的說明主題。

  • 物件瀏覽器。 Visual Basic 編輯器中的物件瀏覽器會顯示 Word 物件) 屬性和方法 (成員。

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應