- 建構模組是範本中按類型和類別組織的可重複使用內容片段。 Word.
- 快速部件是一個可見的庫,只需點擊幾下即可插入、修改和重複使用這些模組。
- Word 的物件模型可讓您使用 VBA 建立和管理建置區塊,以實現進階解決方案。
- 它的使用有助於文件標準化,節省時間,並加強整個辦公環境的一致性。
如果您每天都使用 Word 或其他 Office 應用程序,您一定知道,不斷重複相同的文字、封面、簽名或頁眉是多麼繁瑣。為了避免這種重複性工作,Office 提供了「建立基塊」和「快速部件」這兩個功能,旨在節省時間、規範文件樣式並最大限度地減少錯誤。
建置模組和快速元件遠非曇花一現的新奇功能,它們是微軟在 Word 2007 中引入的強大系統的一部分,並在當前版本中仍然保留。借助它們,您可以保存可重複使用的內容片段(從簡單的段落到具有複雜格式的整個章節),只需點擊幾下或從下拉庫中即可將其重新插入到任何文件中。
辦公室的基本組成是什麼?
簡而言之,建立模組是可重複使用的內容片段,它們保存在 Word 範本中,您可以根據需要多次插入文件中。建構模組可以包含文字、圖像、網域、段落格式、表格樣式、頁首、頁尾、封面、參考文獻等等。
微軟將它們設計為舊版自動圖文集的升級版,但組織結構更加清晰,靈活性也更高。每個構建塊都作為單獨的條目(BuildingBlock 物件)保存在 Office 可識別的結構中,使用戶能夠篩選、排序和重複使用內容,而無需重複輸入或複製/貼上。
實際上,建立模組的範圍很廣,從簡單的簽名欄到完整的公司封面頁,包括標準化的合約條款、法律聲明、常見問題、章節標題或現成的圖形元素。關鍵在於,這些元素集中儲存在模板中,而不是作為零散的文字散落在各個文件中。
為了處理所有這些內容,Word 物件模型包含幾個特定元素:單一建構塊由BuildingBlock物件表示;相同類型和類別的區塊集合被分組到BuildingBlocks集合中; BuildingBlockEntries集合將特定範本中所有可用的建構塊條目集中在一起。
此外,內部組織結構基於類型和類別。模組類型由BuildingBlockType物件和BuildingBlockTypes集合管理,而更細緻的分類則使用Category和Categories物件。這種結構允許不同的模組擁有相同的名稱,只要它們屬於不同的類型或類別。

積木的種類和類別
構建塊主要根據兩個標準進行組織:塊類型和類別。類型由 Word 內部常數(眾所周知的WdBuildingBlockTypes)定義,並決定區塊的一般用途:自訂頁首、參考文獻、封面、頁尾、預先格式化表格等。
Word 內建了約 35 種 WdBuildingBlockTypes 類型,涵蓋了大多數常見情境。您無法從頭開始建立新類型,但可以使用現有類型來建立區塊結構。這使得單一類型可以包含許多不同的類別,從而在組織內容時提供了極大的靈活性。
第二層組織結構是類別。與類型不同,類別只是您定義的文字字串,用於以最適合您需求的方式對建置模組進行分組。 Word 包含一些預設類別,例如“常規”或“內建”,但您並不局限於這些類別:您可以根據解決方案的需要建立任意數量的類別。
這意味著,例如,您可以在「書籍標題」類別下建立一個名為「標題」的wdTypeBibliography類型的程式碼區塊,在「影片標題」類別下建立一個名為「標題」的程式碼區塊,並在「書籍標題」類別下建立第三個wdTypeCustomHeaders類型的名為「標題」的程式碼區塊。由於類型和類別的這種組合,重複的名稱不會發生衝突,系統仍然能夠知道在每個上下文中應該使用哪個程式碼區塊。
整個框架使得構建塊具有極高的可配置性:您可以根據組織、特定部門甚至客戶的需求調整分類,而無需更改內部名稱或修改程式碼。即便如此,如果您想更進一步,Word 也完全支援以程式設計方式建立、編輯和刪除建構塊。
Word中的快速部件是什麼?
快速部件是整個系統中最直覺易用的部分。它們以庫的形式呈現,其中包含您先前儲存的文字片段或其他內容,以便您可以立即在任何文件中重複使用它們。
在 Word 功能區中,「快速元件」庫位於「插入」標籤的「文字」群組中。點選「快速元件」按鈕會顯示可用選項清單:網域、自動圖文集、文件區塊、自訂快速元件等等。其目的是讓您只需單擊即可插入複雜內容,而無需在舊文件中搜尋並複製貼上。
插入這些元素非常簡單:將遊標放在要插入的位置,選擇“插入”>“快速部件”,然後選擇相應的條目。選定的內容將原樣插入到指定位置,保留儲存時的段落格式、樣式、分頁符號和其他屬性。
要在庫中建立新條目,操作同樣簡單。首先,在文件中輸入要儲存的部分(例如,銷售提案中的範例段落)。然後,選取該文本,依序點選「插入」>「快速元件」>「將所選內容儲存到快速元件庫」。在彈出的對話方塊中,您可以定義名稱、類別、描述、儲存位置以及與該零件可用性相關的其他選項。
本質上,「快速部件」依賴我們之前討論過的構建塊系統。您儲存的每個「快速元件」都會成為與範本關聯的內部建置區塊項目,可讓您透過「建置區塊管理器」管理它、重複使用它、重新定義它,甚至如果您有興趣自動化任務,也可以使用 VBA 進行操作。
如何插入和修改積木和快速零件
要插入特定的構建塊,首先需要將遊標放在文件中希望它出現的位置。然後,在「插入」標籤上的「文字」群組中,按一下「快速元件」,然後選擇「建置區塊管理員」。此視窗將顯示所有可用構建塊的列表,您可以按名稱、類型或庫進行排序,以便快速找到所需的構建塊。
如果您已經知道構建塊的名稱,只需按一下「名稱」列標題,按字母順序對清單進行排序,即可快速找到它。選取後,按一下「插入」,Word 會將該建構塊放置在遊標位置。
修改快速零件或構建塊同樣簡單,只是需要多一個保存步驟。通常,您會先插入要修改的區塊,在文件中進行編輯,直到達到您想要的效果,然後使用相同的識別碼再次儲存,這樣它就會自動取代先前的版本。
為確保 Word 不僅保留文本,而且保留完整的段落格式(縮排、對齊方式、行距、頁碼等),請務必在儲存的選取範圍中包含段落標記 (¶)。這樣,選取範圍就能完全保留螢幕上顯示的樣式和佈局。
選擇新版本的內容後,返回「插入」>「快速部件」,然後選擇「將所選內容儲存到快速部件庫」 。在「建立新建置基底」對話方塊中,輸入與原始條目完全相同的名稱、類別和庫,然後按一下「確定」進行確認。 Word 將詢問您是否要重新定義現有建置基底區塊;如果選擇“是”,則舊項目將會被新項目取代。

使用 VBA 進行高階建置區塊管理
除了透過功能區進行標準操作外,還可以使用 VBA 或建立 Office 加載項以程式方式控制建置區塊。 Word 物件模型公開了三個主要物件和多個集合,可讓您使用巨集或更複雜的解決方案來建立、讀取、更新和刪除建置區塊。
在程式設計術語中,每個建構塊條目都由BuildingBlock物件表示。範本中相同類型和類別的區塊構成BuildingBlocks集合,而BuildingBlockEntries集合則匯集了特定範本中存在的所有建構區塊,無論其類型或類別為何。
可用的區塊類型由BuildingBlockType物件和BuildingBlockTypes集合管理,它們對應於前面討論的 WdBuildingBlockTypes 常數。而類別則由Category物件和Categories集合管理。類別沒有直接的 Add 方法,但當您建立包含尚不存在類別的新建構塊時,Word 會自動將該類別新增至集合中。
要以程式設計方式建立自訂建置區塊,最可靠的方法是使用`BuildingBlockEntries` 集合的`Add`方法。這比呼叫 `BuildingBlocks` 集合的 `Add` 方法更可取,因為後者在指定類型和類別的建構塊不存在時可能會產生執行階段錯誤。相較之下,`BuildingBlockEntries.Add`直接作用於與活動文件相關的範本。
典型的操作流程包括:折疊目前選區,定義一個範圍,將文字賦值給該範圍,然後呼叫附加到文件的範本的 `BuildingBlockEntries` 類別的 `Add` 方法。在該方法中,您需要指定區塊名稱、類型(例如`wdTypeCustomHeaders`)、類別(例如「書籍標題」)以及包含要儲存內容的範圍。
如果您之後想要存取某個現有模組,有兩個選項。您可以瀏覽BuildingBlockEntries集合,或者,如果您已經知道類型和類別,則更簡單的方法是存取範本的BuildingBlocks集合,先按BuildingBlockTypes(type)篩選,再按Categories("CategoryName")篩選。這樣,您就可以直接找到對應的模組,例如,使用類似.BuildingBlocks("Title") 的方法取得所需的條目。
使用巨集插入程式碼區塊並控制其使用
在 VBA 中取得到建構塊的參考後,可以使用BuildingBlock 物件的Insert方法將其插入到活動文件中。通常,您需要傳遞一個目標範圍,例如Selection.Range,以便將建構塊插入到目前插入點或替換使用者選擇的文字。
典型的巨集邏輯如下:取得與活動文件關聯的模板,根據其類型、類別和名稱定位建立區塊,最後呼叫objBB.Insert Selection.Range (或其他範圍)插入內容。這種方法對於自動化建立標準文件(例如合約、報告或公司範本)非常有用。
另一個有趣的功能是BuildingBlockInsert事件,它可以偵測使用者何時將建構塊插入文件。透過利用此事件,您可以記錄使用了哪些建構塊,阻止在特定上下文中插入某些元素,或對輸入的內容觸發額外的驗證。
如果將建構塊與Word內容控制項結合使用,控制項的功能將會更加強大。利用Document 物件的ContentControlOnEnter事件,您可以偵測使用者何時進入特定的內容控制項。如果該控制項是建置區塊程式庫(例如wdContentControlBuildingBlockGallery),您可以設定其BuildingBlockType和BuildingBlockCategory屬性來篩選可用區塊的清單。
實際上,這意味著內容控制項只能顯示使用特定巨集建立的區塊(例如,由 AddCustomBuildingBlock 子程式產生的區塊)或屬於特定類別的區塊。這確保使用者只能在文件的特定區域(例如合約、關鍵條款或敏感的公司資訊)插入預先批准的內容。
一個典型的例子是,文件中至少包含一個內容控件,並在 ContentControlOnEnter 事件中檢查該控件是否為創作區塊庫。如果是,則為其指派類型(例如 wdTypeCustomHeaders)和類別(例如「書籍標題」),以便控制項的下拉清單僅顯示符合這些篩選條件的創作區塊。
對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。