a pair of headphones sitting on top of a box

Python學習筆記: 批次將word舊版 doc 檔轉換成 docx 檔

在Python批次處理Word檔案的過程,可以使用docx這個模組,

例如收了20幾個word檔案,想要將word個別檔案的頁首和頁碼等資料去除後,
再來批次轉成pdf檔案編頁碼。

但這個模組只能處理Word的docx副檔名。

為了解決這個問題,只能先將Word舊版doc檔轉成docx檔,再做進一步的處理。

原始目檔資料夾如下,有word doc也有docx檔:

接下來就來用程式處理了:

import os
import re
import win32com.client as win32

# 設定目標資料夾
file_path = "d:\\temp\\test"

# 找出所有doc檔做成list
files = [x for x in os.listdir(file_path) if x.endswith(".doc")]

for file in files:
    doc_file_path = os.path.join(file_path, file)
    docx_file_path = os.path.join(file_path, os.path.splitext(file)[0] + ".docx")
    print(f'正在處理{doc_file_path}')
    print('----------------------')
    word = win32.DispatchEx("Word.Application")
    doc = word.Documents.Open(doc_file_path)
    
    doc.SaveAs(docx_file_path, FileFormat=16) # FileFormat=16 是存成docx檔
     
    doc.Close()
    word.Quit()
    
    # 移除doc檔案(非必要)
    os.remove(doc_file_path)

print('所有doc檔轉換docx檔:已完成')

目目標資料夾處理完的結果(第1, 2, 4個檔案已將doc轉成docx,並將原doc檔刪除):

在〈Python學習筆記: 批次將word舊版 doc 檔轉換成 docx 檔〉中有 1 則留言

  1. 自動引用通知: Python學習筆記: 批次刪除word docx 檔之頁首及頁尾(頁碼) – 微確幸資訊站

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *