因为工作需要,需要替换大量word文档中的关键字,懒得挨个手动操作,就打算写一个python程序,接下来记录这个学习过程。
先写一个最简单的新建word的代码:
#导入库
import win32com
from win32com.client import Dispatch
#调用word程序
WordApp = win32com.client.Dispatch("Word.Application")
#不在前台显示文档及错误,可以提高运行速度
WordApp.Visible = 0
WordApp.DisplayAlerts = 0
#新建一个word
doc = WordApp.Documents.Add()
#文档保存
doc.SaveAs(r"C:\Users\Destiny\Desktop\xx.docx")
#保存后关闭
doc.Close()
字符串前加u、r、b的作用
- u:表示后面字符串是 Unicode 字符集,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码
- r:声明后面的字符串是普通字符串,相对的,特殊字符串中含有:转义字符 \n \t 什么什么的
- b:python3.x里默认的str是(py2.x里的)unicode, bytes是(py2.x)的str, b”“前缀代表的就是bytes,python2.x里, b前缀没什么具体意义, 只是为了兼容python3.x的这种写法
再贴一段,打开word文档:
#导入库
import win32com
from win32com.client import Dispatch
#调用word程序
WordApp = win32com.client.Dispatch("Word.Application")
#不在前台显示文档及错误,可以提高运行速度
WordApp.Visible = 0
WordApp.DisplayAlerts = 0
#打开word文档
doc = WordApp.Documents.Open(r'C:\Users\Destiny\Desktop\Test.doc')
#文档保存
doc.SaveAs(r"C:\Users\Destiny\Desktop\Test.doc")
#保存后关闭
doc.Close()