目录
1.遍历表格,根据需要,如果只设置某一个表格,指定即可(具体代码注释有)
一、思路
1.遍历表格,根据需要,如果只设置某一个表格,指定即可(具体代码注释有)
2.对表格区域查找替换
二、代码
from win32com.client.gencache import EnsureDispatch
from win32com.client import constants # 导入枚举常数模块
wdApp = EnsureDispatch("Word.Application")
aDoc = wdApp.ActiveDocument # aDoc为当前文件
# wdApp.Visible = False # 程序设置为不可见
# aDoc = wdApp.Documents.Open(r"E:\abc.docx") # 打开已经存在的文件
i = 0
for ta in aDoc.Tables: # 遍历表格,如果无需遍历,直接将ta指定为某个表格即可,如这样指定为第一个表格:ta = aDoc.Tables(1)
# f为每个表格区域查找
f = ta.Range.Find
# 查找框参数
f.ClearFormatting() # 清除原有格式
f.Forward = True # 向前查找
f.Format = True # 查找格式
f.Wrap = constants.wdFindStop # 查找完成即停止
f.MatchWildcards = True # 使用通配符,根据需要设置
f.Text = '[!^13^l::]{1,}[::]' # 查找的内容
# 替换框参数
f.Replacement.ClearFormatting() # 清除原有格式
f.Replacement.Text = '^&' # 替换框内容
f.Replacement.Font.Bold = True # 替换文本设置为加粗
f.Execute(Replace=constants.wdReplaceAll) # 执行,查找全部
i += 1
# aDoc.Close(wdSaveChanges) # 保存并关闭文件,根据需要设置
print(f'完成,共替换了{i}个表格')
三、执行结果
1.执行前
执行前
2.执行后
执行后