windows平台使用win32替换word中的文字

用python的win32com模块替换word中的文字搞定批量打印奖状

windows_modify_world_text.py

# 参考 用python的win32com模块替换word中的文字搞定批量打印奖状
# 

# -*- coding: utf-8-*-

import win32com
from win32com.client import Dispatch, constants

#模板文件保存路径,此处使用的是绝对路径,相对路径未测试过
template_path = 'C:\Users\yely\Desktop\jiangzhuang\print.doc'
#另存文件路径,需要提前建好文件夹,不然会出错
store_path = 'C:\Users\yely\Desktop\jiangzhuang\list\\'
#模板中需要被替换的文本。   u''中的u表示unicode字符,用于中文支持
NewStr = u'小二'

#启动word
w = win32com.client.Dispatch('Word.Application')
# 或者使用下面的方法,使用启动独立的进程:
# w = win32com.client.DispatchEx('Word.Application')

# 后台运行,不显示,不警告
w.Visible = 0
w.DisplayAlerts = 0
# 打开新的文件
doc = w.Documents.Open( FileName = template_path )
# worddoc = w.Documents.Add() # 创建新的文档

# 正文文字替换
w.Selection.Find.ClearFormatting()
w.Selection.Find.Replacement.ClearFormatting()

#名单
lst = [u'张三', u'李四', u'王五']

#迭代替换名字,并以名字为名另存文件
for i in lst:
    OldStr, NewStr = NewStr, i
    w.Selection.Find.Execute(OldStr, False, False, False, False, False, True, 1, True, NewStr, 2)
    doc.SaveAs(store_path + i +'.doc')
    #doc.PrintOut()     直接打印,未测试

doc.Close()
w.Documents.Close()
w.Quit()
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,348评论 0 10
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 3,127评论 1 3
  • # Awesome Python [![Awesome](https://cdn.rawgit.com/sindr...
    emily_007阅读 2,343评论 0 3
  • 孤独是什么,孤独是红花不知绿叶的用心 孤独是什么,孤独是新芽不懂落叶的情谊怀 孤独是什么,孤独是春天的落叶,冬天的...
    名书字华阅读 377评论 0 0
  • 在北京,司空见惯的大龄剩女剩男! 这里的男人不相信女人,女人不相信男人。 在北京,买不起房的不只是外地人! 不要以...
    酒浓情伤阅读 485评论 0 0

友情链接更多精彩内容