Python:替换word中的文本

需要批量替换word中的文本

如题,于是找到了win32com来操作word.

python Logo

源码

源码如下,部分源码来自网络.

import win32com
from win32com.client import Dispatch
import os


'''

必要:
1.python 3.6 
2.win32com(这个版本与py的版本一致,不是与系统的.必须注意)



1.执行前需打开wps或者word软件(可以不用打开任何文档);
2.本程序执行完之后,wps或者word软件上会显示已经被修改的文档;
3.保存所有文档即可完成替换.

'''

if __name__ == '__main__':
	with os.scandir(".") as it:
		for entry in it:
			if not entry.name.startswith('.') and not entry.name.startswith('~') and entry.name.endswith('.doc') and entry.is_file():
				filename = os.path.splitext(entry.name)[0]
                                # 会将原文本替换为去掉后缀的文件名.
				word = Dispatch('Word.Application')
				doc = word.Documents.Open(entry.name)
				word.Selection.Find.Execute("原文本", False, False, False, False, False, True, 1, True,filename, 2)
	print("执行完成")

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据