
📌 用途
此巨集可自動批次將指定資料夾中的所有 .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
🧰 如何安裝
- 開啟 Microsoft Word。
- 按下
Alt + F11
開啟 VBA 編輯器。 - 在左側專案視窗中選取
Normal
或任一開啟的文件模板。 - 插入一個新模組:上方選單點選
插入
>模組(Module)
。 - 將程式碼貼入右側編輯區。
- 關閉 VBA 編輯器,回到 Word。
▶️ 如何使用
- 在 Word 中按
Alt + F8
開啟「巨集」清單。 - 選取
BatchConvertWordToUTF8Text
並執行。 - 系統會跳出對話框,請選擇欲處理的資料夾。
- 程式會自動將該資料夾中所有
.docx
檔案另存為.txt
檔,並使用 UTF-8 編碼。 - 轉換完成後,會顯示提示訊息。
⚠️ 限制條件與注意事項
- 僅處理
.docx
檔案(.doc
或其他格式不會被轉換)。 - 不處理子資料夾,僅限選取資料夾中的檔案。
- 輸出的
.txt
檔會與原始.docx
同名,儲存在同一資料夾中,副檔名改為.txt
。 - 若檔名重複或已有同名
.txt
檔案,將會直接覆寫。 - 文件中若含有格式(如粗體、圖片、表格),轉成
.txt
後只保留純文字內容。 - 巨集必須在 允許執行 VBA 巨集的 Word 環境 中才能運作。
- 使用期間建議暫停其他 Word 操作,避免干擾轉檔流程。
Tags
泉製作所