2025年6月9日 星期一

Word VBA 工具:一次取代多個 Word 文件的多個字串(含格式)

在日常工作中,我們經常需要處理大量的 Word 文件,有時會遇到需要批次修改特定文字或資訊的情況,例如公司名稱變更、產品價格更新等等。如果手動一個個檔案開啟、搜尋、取代,將會花費大量的時間和精力,且容易出錯。

為了提升效率,利用 Word 的 VBA (Visual Basic for Applications) 功能可以實現自動化處理。今天介紹的這個 Word 工具,就是利用 VBA 編寫而成,可以幫助您一次取代多個 Word 文件中的多個字串,甚至可以選擇是否連同字型的顏色和大小一併取代,對於需要處理大量文件批次修改的朋友來說,非常實用!

工具檔案下載

您可以從以下 Google Drive 連結下載這個 Word 工具檔案 (replacepro.doc):

https://drive.google.com/file/d/1em4_o5L845PYB60eiqFpJDdcdjMHqXPW/view

下載後,請直接用 Word 開啟檔案。開啟時,請記得點選啟用編輯和啟用內容,以確保 VBA 程式碼可以正常執行。

如何使用工具

工具的核心是一個表格,用來設定您要處理的文件以及取代規則。表格包含以下欄位:

  • 檔案路徑 (選取檔案): 這裡會顯示您選擇的 Word 文件的完整路徑。點選表格上方的 「選取檔案」 按鈕,會跳出檔案總管視窗,您可以選擇一個或多個 Word 文件。選擇後,檔案路徑會自動填入表格中。如果您有多個檔案要處理,請重複點選 「選取檔案」 按鈕來加入檔案。

  • 清除檔案名稱: 點選此按鈕可以清空 「檔案路徑」 欄位中所有的文件路徑列表。

  • 搜尋字串: 此欄位是為了方便您記錄,實際執行取代時,程式是讀取 「來源」 欄位的內容。

  • 來源: 在此欄位輸入您想要在文件中搜尋並被取代的文字或字串。

  • 目的: 在此欄位輸入您想要取代成的新文字或字串。

  • 多檔案取代: 點選此按鈕開始執行批次取代作業。

取代格式選項

表格上方有一個勾選框:「只取代字型顏色大小」

  • 未勾選 (預設): 工具只會取代文字內容,保留原始文件中被取代文字的字型格式(例如字體、大小、顏色、粗體等)。

  • 勾選: 工具在取代文字的同時,會將 「目的」 欄位中文字的字型(包含字體、大小、顏色、粗體、斜體等,依照您在表格中設定的格式)複製並套用到取代後的文字上。如果您希望取代後的文字有特定的格式,請先在 「目的」 欄位中設定好該文字的格式(例如選取文字,然後設定字體、大小、顏色、粗體等)。

設定取代規則

您可以在表格中設定多組取代規則。每一列代表一組「來源」對「目的」的取代。工具會依序對列表中的每個檔案,執行表格中所有的取代規則。

  • 例如,如果您想將文件中的「舊產品名稱」換成「新產品名稱」,同時將「舊價格」換成「新價格」,您可以在表格中設定兩列:

    • 第一列:「來源」填寫「舊產品名稱」,「目的」填寫「新產品名稱」。

    • 第二列:「來源」填寫「舊價格」,「目的」填寫「新價格」。

    • 這兩組取代規則會應用於您在 「檔案路徑」 欄位中選取的所有檔案。

操作步驟總結

  1. 下載並開啟 replacepro.doc,啟用編輯內容。

  2. 點選 「選取檔案」 加入要處理的 Word 文件(一個或多個)。

  3. 在表格的 「來源」 和 「目的」 欄位設定取代規則(一組或多組)。如果您希望取代後的文字有特定格式,且您勾選了「只取代字型顏色大小」,請在設定 「目的」 文字時,直接在表格中設定好它的格式。

  4. 選擇是否勾選 「只取代字型顏色大小」

  5. 點選 「多檔案取代」 按鈕開始執行。

  6. 等待提示訊息顯示「取代完成!」。

範例應用

這個工具特別適合用於以下情境:

  • 公司名稱變更,需要更新所有文件中的公司名稱。

  • 產品線調整或價格變動,需要修改產品文件或報價單中的名稱和價格。

  • 統一特定詞彙的寫法或格式。

請注意,如果您在 「檔案路徑」 中重複加入同一個檔案,可能會導致程式效能變慢,建議每個要處理的文件只加入一次即可,所有取代規則都會依序套用。

交流與討論

如果您在使用上有任何問題,或想與其他使用者交流,可以加入我的 Discord 討論區:

https://discord.gg/A24ZGatCGG

希望這個小工具能為您的工作帶來便利!



沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。

輕鬆搞定!運用 FILTERXML 函數從 Excel 文字中擷取多個數量

在處理 Excel 資料時,您是否曾遇過需要從一段文字中擷取多個數量的困擾?本文將介紹如何巧妙運用  FILTERXML  函數,搭配  SUBSTITUTE  函數,輕鬆解決這個問題。 理解核心函數:FILTERXML 與 SUBSTITUTE SUBSTITUTE 函數:  ...