RTF 批量轉換為 DOCX 檔案

肖老闆發表於2018-04-26

RTF 批量轉換為 DOCX 檔案

  RTF是多資訊文字格式,可用於多裝置、系統。最近在做一個小的資料批量處理程式時遇到了RTF格式的資料檔案,這種格式雖然跨裝置跨系統,但是發現解析此格式的庫比較少(至少Python比較少)而且功能不全,不能實現自己獲取資料檔案裡面的表格的需求。而對於DOCX格式的檔案,其解析庫就相對成熟一些!所以我需要將RTF檔案轉換為DOCX檔案。單個檔案的話,直接用word開啟,然後另存為docx即可,多個檔案的時候就可以使用如下步驟進行批量處理:

1.新建一個空白 word,並雙擊開啟:
Alt text
2.Alt + F11 組合鍵開啟巨集執行環境。注意,如果該組合按鍵沒有效果,可以試試 Alt + Fn + F11.
Alt text
3.點選選單欄的 插入 子選單,選擇 模組,插入一個程式碼模組:
Alt text
4.將以下程式碼段複製到剛才開啟的空白窗體中:

Option Explicit
Sub doc2docx()
Dim sEveryFile As String
Dim sSourcePath As String
Dim sNewSavePath As String
Dim CurDoc As Object
sSourcePath = "C:\Users\yxiao\Documents\workspace\醫療檢測\資料\"
sEveryFile = Dir(sSourcePath & "*.Rtf")
Do While sEveryFile <> ""
   Set CurDoc = Documents.Open(sSourcePath & sEveryFile, , , , , , , , , , , msoFalse)
   sNewSavePath = VBA.Strings.Replace(sSourcePath & "DOCX檔案\" & sEveryFile, ".Rtf", ".docx")
   CurDoc.SaveAs2 sNewSavePath, wdFormatDocumentDefault
   CurDoc.Close SaveChanges:=False
   sEveryFile = Dir
Loop
Set CurDoc = Nothing
End Sub

5.修改程式碼中 rtf 檔案所在的目錄,以及轉換後的 docx 結果檔案存放的資料夾名,預設是在 rtf檔案所在的當前目錄下新建一個名為 DOCX檔案 的資料夾:
Alt text

RTF檔案目錄和DOCX檔案目錄如下圖所示:

Alt text

6.按下 F5 按鍵或者點選如圖綠色三角標執行程式碼,然後等待程式碼執行完畢。需要轉換的RTF檔案數量越多,等待程式碼執行完畢的時間越長,一般50個RTF檔案轉換執行所需時間為15秒左右:

Alt text

7.轉換結果如下圖所示:

Alt text

相關文章