python3實現批量替換.doc文件內容


運行環境:

python

pywin32  https://github.com/mhammond/pywin32/releases

腳本功能:

遍歷目錄下的所有文件,將文件固定內容進行替換。

 

import os,time
import win32com
from win32com.client import Dispatch
 
# 基礎設置
path = r'C:\Users\administrator\Desktop\'  # 要讀取的目錄
name = os.listdir(path)
for i in name:
    path2 = path + '\\' + i
    print(path2)

    open_file = path2
    # 要保存到的位置
    save_file = path2
    # 指示系統中文檔的處理工具
    # 如果使用word
    exec_tool = 'Word.Application'
    # 如果使用wps
    # exec_tool = 'wps.application'
     
    # 指示運行的版本,如果是WPS應修改為
    word = win32com.client.Dispatch(exec_tool)
    # 在后台運行程序
    word.Visible = 0  # 后台運行,不顯示
    # 運行過程不警告
    word.DisplayAlerts = 0  # 不警告
    # 打開word文檔
    doc = word.Documents.Open(open_file)
     
     
    # 文檔替換函數
    def replace_doc(old_string, new_string):
        word.Selection.Find.ClearFormatting()
        word.Selection.Find.Replacement.ClearFormatting()
        # ------------------------------------------------------
        # 此函數設計到可能出現的各種情況,請酌情修改
        # Execute(
        #         舊字符串,表示要進行替換的字符串
        #         區分大小寫:這個好理解,就是大小寫對其也有影響
        #         完全匹配:也就意味着不會替換單詞中部分符合的內容
        #         使用通配符
        #         同等音
        #         包括單詞的所有形態
        #         倒序
        #         1(不清楚是做什么的)
        #         包含格式
        #         新的文本
        #         要替換的數量,0表示不進行替換,1表示僅替換一個
        # ------------------------------------------------------
        word.Selection.Find.Execute(old_string, False, False, False, False, False, True, 1, True, new_string, 2)
     
    # 把文檔中的A字符串替換為K字符串
    replace_doc('A', 'K')

    # 保存對Word文件所進行的修改
    doc.SaveAs(save_file)
     
    # 打印文件
    # doc.PrintOut()
    # 關閉文件
    doc.Close()
    # 退出word
    word.Quit()

    time.sleep(1)

 

參考:https://blog.csdn.net/tineaine/article/details/107554960


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM