点击上方“AI搞事情”关注我们
有时候,我们需要将word中特定的内容进行批量替换为新的内容,那么如何应用python win32com 实现word文档内容的批量替换呢?下面就介绍如何实现。
主要通过查找替换方法Find.Execute进行内容查找和新内容替换:
替换代码:
import os
import win32com.clientdocx_path = 'test.docx'
app = win32com.client.DispatchEx("Kwps.Application")
# app.Visible = True
# app.ScreenUpdating = Tru
doc = app.Documents.Open(os.path.abspath(docx_path), ReadOnly=0)
oldstr = "abcd"
newstr = "1234"
app.Selection.Find.Execute(
oldstr, False, False, False, False, False, True, 1, False, newstr, 2
)
doc.Close()
app.Quit()
'''
涉及的 11 个参数说明:
(OldStr--搜索的关键字,
True--区分大小写,
True--完全匹配的单词,并非单词中的部分(全字匹配),
True--使用通配符,
True--同音,
True--查找单词的各种形式,
True--向文档尾部搜索,
1,
True--带格式的文本,
NewStr--替换文本,
2--替换个数(0表示不替换,1表示只替换匹配到的第一个,2表示全部替换)
'''
参考:
Find.Execute 方法 (Word) https://docs.microsoft.com/zh-cn/office/vba/api/word.find.execute
Python操作Word(Win32com) https://zhuanlan.zhihu.com/p/67543981
长按二维码关注我们
有趣的灵魂在等你