[Word巨集] BatchConvertWordToUTF8Text

📌 用途

此巨集可自動批次將指定資料夾中的所有 .docx Word 文件轉換為 UTF-8 編碼的純文字檔(.txt)。適合需要大量匯出文字資料的使用情境,例如語料處理、備份、資料轉換等。


💻 程式碼

Sub BatchConvertWordToUTF8Text()
    ' 定義變數
    Dim folderPath As String
    Dim file As String
    Dim originalDoc As Document
    Dim newDocPath As String
    
    ' 詢問使用者選擇資料夾
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "選擇資料夾"
        .AllowMultiSelect = False
        If .Show = -1 Then
            folderPath = .SelectedItems(1)
        Else
            Exit Sub ' 使用者取消操作
        End If
    End With
    
    ' 遍歷資料夾中的每個 Word 檔案
    file = Dir(folderPath & "\*.docx")
    Do While file <> ""
        ' 打開 Word 檔案
        Set originalDoc = Documents.Open(FileName:=folderPath & "\" & file)
        
        ' 設定新文檔的保存路徑
        newDocPath = folderPath & "\" & Replace(file, ".docx", ".txt")
        
        ' 另存為 UTF-8 文本文件
        originalDoc.SaveAs2 FileName:=newDocPath, FileFormat:=wdFormatText, Encoding:=65001
        
        ' 關閉原始文檔
        originalDoc.Close
        
        ' 繼續處理下一個檔案
        file = Dir
    Loop
    
    ' 提示完成
    MsgBox "轉換完成!", vbInformation
End Sub

 

🧰 如何安裝

  1. 開啟 Microsoft Word
  2. 按下 Alt + F11 開啟 VBA 編輯器
  3. 在左側專案視窗中選取 Normal 或任一開啟的文件模板。
  4. 插入一個新模組:上方選單點選 插入 > 模組(Module)
  5. 將程式碼貼入右側編輯區。
  6. 關閉 VBA 編輯器,回到 Word。

▶️ 如何使用

  1. 在 Word 中按 Alt + F8 開啟「巨集」清單。
  2. 選取 BatchConvertWordToUTF8Text 並執行。
  3. 系統會跳出對話框,請選擇欲處理的資料夾。
  4. 程式會自動將該資料夾中所有 .docx 檔案另存為 .txt 檔,並使用 UTF-8 編碼。
  5. 轉換完成後,會顯示提示訊息。

⚠️ 限制條件與注意事項

  • 僅處理 .docx 檔案.doc 或其他格式不會被轉換)。
  • 不處理子資料夾,僅限選取資料夾中的檔案。
  • 輸出的 .txt 檔會與原始 .docx 同名,儲存在同一資料夾中,副檔名改為 .txt
  • 若檔名重複或已有同名 .txt 檔案,將會直接覆寫。
  • 文件中若含有格式(如粗體、圖片、表格),轉成 .txt 後只保留純文字內容。
  • 巨集必須在 允許執行 VBA 巨集的 Word 環境 中才能運作。
  • 使用期間建議暫停其他 Word 操作,避免干擾轉檔流程。

陳小泉

喜愛用文字說明自己眼中所見的一切

較新的 較舊

نموذج الاتصال