WordBasic 和 Visual Basic 的概念差異
Visual Basic for Applications (VBA) 與 WordBasic 之間的主要差異在於,雖然 WordBasic 語言是由大約 900 個命令的一般清單所組成,但 Visual Basic 是由物件階層所組成,其中每一個都會公開一組特定的方法和屬性, (類似于 WordBasic) 中的語句和函式。 雖然大部分 WordBasic 命令都可以隨時執行,不過 Visual Basic 只會在指定的時間公開可用物件的方法和屬性。
物件是 Visual Basic 的基本建置組塊;您在 Visual Basic 中進行的每項動作幾乎都與修改物件有關。 Word 的每個元素,例如檔、段落、欄位和書簽,都可以由 Visual Basic 中的物件表示。 與命令不同的是,某些物件只能從其他物件存取。 例如,可以從各種物件存取 Font 物件,包括 Style、 Selection和 Find 物件。
套用粗體格式設定的程式設計工作會說明兩種程式設計語言的差異。 下列 WordBasic 指令會將粗體格式設定套用至選取範圍。
Bold 1
下列範例是將粗體格式設定套用至選取範圍的 Visual Basic 相對應項目。
Selection.Font.Bold = True
Visual Basic 不包含 Bold 語 句和函式。 而是有 Bold 屬性。 (屬性通常是物件的屬性,例如其大小、色彩或是否為粗體。) Bold 是 Font 物件的屬性。 您可以遵循物件階層來建置指令,以便將粗體格式設定套用至選取範圍。 在物件階層之後,您可以建置將粗體格式套用至選取範圍的指令。 Bold 屬性是可讀寫的布林值屬性。 這就表示 Bold 屬性可設定為 True 或 False (開啟或關閉),也可以傳回目前的值。 下列 WordBasic 指令會傳回一個值,指出粗體格式設定是否已套用至選取範圍。
x = Bold()
下列範例是傳回選取範圍之粗體格式設定的 Visual Basic 相對應項目。
x = Selection.Font.Bold
Visual Basic 的思考程序
若要在 Visual Basic 中執行工作,您必須決定適當的物件。 例如,如果您想要套用在 [字型] 對話方塊中找到的字元格式設定,請使用 Font 物件。 然後,您必須決定如何透過包含您要修改之 Font 物件的物件,從Application 物件「向下切入」Word 物件階層至Font物件。 在您決定物件的路徑之後, (例如,) ,請使用 [Visual Basic 編輯器] 中的 [物件瀏覽器]、[說明] 或 [自動列出成員] 等功能來判斷哪些屬性和方法可以套用至物件。 如需使用屬性和方法向下切入至物件的詳細資訊,請參閱了解物件、屬性及方法。
屬性和方法通常會適用於 Word 物件階層中的多重物件。 例如,下列指令會將粗體格式設定套用至整份文件。
ActiveDocument.Content.Bold = True
此外,物件本身通常存在於物件階層中的多個位置。
Selection 和 Range 物件
大部分 WordBasic 命令都會修改選取範圍。 例如, Bold 命令會使用粗體格式設定來格式化選取範圍。 InsertField 命令會在插入點插入一個功能變數。 當您想要在 Visual Basic 中使用選取範圍時,請使用 Selection 屬性來傳回 Selection 物件。 選取範圍可能是一個文字區塊或插入點。
下列 Visual Basic 範例會在選取範圍後面插入文字和新的段落。
Selection.InsertAfter Text:="Hello World"
Selection.InsertParagraphAfter
除了使用選取範圍以外,您也可以在文件中定義並使用各種文字範圍。 Range物件是指檔中具有開始字元位置和結束字元位置的連續區域。 與文件中使用書籤的方式很類似,Visual Basic 中 Range 物件是用來識別文件的各部分。 不過,與書簽不同的是,除非已使用Select方法選取Range,否則使用者看不到Range物件。 例如,您可以使用 Visual Basic,在文件中的任何位置套用粗體格式設定,但不會變更選取範圍。 下列範例會將粗體格式設定套用至使用中文件的前 10 個字元。
ActiveDocument.Range(Start:=0, End:=10).Bold = True
下列範例會將粗體格式設定套用至第一個段落。
ActiveDocument.Paragraphs(1).Range.Bold = True
這兩個範例都會變更使用中文件的格式設定,但不會變更選取範圍。 如需 Range 物件的詳細資訊,請參閱使用 Range 物件。
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。