python文本筛选多个word,ms-word – 在python中使用win32com.client如何查找和替换多个文本...

尝试这个:

import win32com.client

from os import getcwd, listdir

docs = [i for i in listdir('.') if i[-3:]=='doc' or i[-4:]=='docx'] #All Word file

FromTo = {"First Name":"John",

"Last Name":"Smith"} #You can insert as many as you want

word = win32com.client.DispatchEx("Word.Application")

word.Visible = True #Keep comment after tests

word.DisplayAlerts = False

for doc in docs:

word.Documents.Open('{}\\{}'.format(getcwd(), doc))

for From in FromTo.keys():

word.Selection.Find.Text = From

word.Selection.Find.Replacement.Text = FromTo[From]

word.Selection.Find.Execute(Replace=2, Forward=True) #You made the mistake here=> Replace must be 2

name = doc.rsplit('.',1)[0]

ext = doc.rsplit('.',1)[1]

word.ActiveDocument.SaveAs('{}\\{}_2.{}'.format(getcwd(), name, ext))

word.Quit() # releases Word object from memory

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值