萬盛學電腦網

 萬盛學電腦網 >> WORD教程 >> WORD使用技巧 >> 使用VBA開發Word文檔的編程基礎知識

使用VBA開發Word文檔的編程基礎知識

   ①什麼是對象和集合

  對象代表一個 Word 元素,如文檔、段落、書簽或單獨的字符。集合也是一個對象,該對象包含多個其他對象,通常這些對象屬於相同的類型;例如,一個集合對象中可包含文檔中的所有書簽對象。通過使用屬性和方法,可以修改單獨的的對象,也可修改整個的對象集合。

  ②什麼是屬性

  屬性是對象的一種特性或該對象行為的一個方面。例如,文檔屬性包含其名稱、內容、保存狀態以及是否啟用修訂。若要更改一個對象的特征,可以修改其屬性值。

  若要設置屬性的值,可在對象的後面緊接一個句號、屬性名稱、一個等號及新的屬性值。下列示例在名為“MyDocument.doc”的文檔中啟用修訂。

  Sub TrackChanges()

  Documents("Sales.doc").TrackRevisions = True

  End Sub

  在本示例中,Documents 引用由打開的文檔構成的集合,而“MyDocument.doc”標識集合中單獨的文檔。並設置該文檔的TrackRevisions屬性。

  不能設置某些屬性。屬性的“幫助”主題中會標明可以設置該屬性(可讀寫),或只能讀取該屬性(只讀)。

  通過返回對象的一個屬性值,可以獲取有關該對象的信息。下列示例返回活動文檔的名稱。

  Sub GetDocumentName()

  Dim strDocName As String

  strDocName = ActiveDocument.Name

  MsgBox strDocName

  End Sub

  在本示例中,ActiveDocument 引用 Word 活動窗口中的文檔。該文檔的名稱賦給了strDocName 變量。

  說明

  每個屬性的“幫助”主題表明可以設置該屬性(可讀寫),只能讀取該屬性(只讀),或只能寫入該屬性(只寫)。此外“Visual Basic 編輯器”中的“對象浏覽器”在浏覽窗口的底部顯示所選屬性的讀寫狀態。

  ③什麼是方法

  方法是對象可以執行的動作。例如,只要文檔可以打印,Document對象就具有PrintOut方法。方法通常帶有參數,以限定執行動作的方式。下列示例打印活動文檔的前三頁。

  Sub PrintThreePages()

  ActiveDocument.PrintOut Range:=wdPrintRangeOfPages, Pages:="1-3"

  End Sub

  在大多數情況下,方法是動作,而屬性是性質。使用方法將導致發生對象的某些事件,而使用屬性則會返回對象的信息,或引起對象的某個性質的改變。

  ④返回一個對象

  可通過返回集合中單獨的對象的方式來返回大多數對象。例如Documents集合包含打開的 Word 文檔。可使用(位於 Word對象結構頂層的)Application對象的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對象結構底層的對象,就必須使用可返回對象的屬性和方法,“深入”到該對象。

  若要查看該過程的執行,請打開“Visual Basic 編輯器”,在“視圖”菜單上單擊“對象浏覽器”。單擊左側“類”列表中的 Application。然後單擊右側“成員”列表中的 ActiveDocument。“對象浏覽器”底部會顯示文字,表明 ActiveDocument 是只讀的,該屬性返回 Document對象。然後單擊“對象浏覽器”底部的 Document,則會在“類”列表中自動選定 Document對象,並將在“成員”列表中顯示 Document對象的成員。滾動成員列表,找到 Close,單擊 Close方法。“對象浏覽器”窗口底部會顯示文字,說明該方法的語法。有關該方法的詳細內容,請按 F1 或單擊“幫助”按鈕,以跳轉到 Close方法的“幫助”主題。

  根據這些信息可編寫下列指令,以關閉活動文檔。

  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對象。然後對 Document對象應用 Save方法。

  如上所示,可以使用方法或屬性來訪問下層對象。也就是說,在對象結構中,將方法或屬性應用於某個對象的上一級對象,可返回該下級對象。返回所需對象之後,就可以應用該對象的方法並控制其屬性。

copyright © 萬盛學電腦網 all rights reserved