对word进行另存为
- 使用python对word进行操作时,需要先引用
win32com
的包
import win32com.client as win32
word = win32.gencache.EnsureDispatch('Word.Application')
- 之后需要启动word应用对象
#此处是定义对word操作是否可视化,如果为True,则会出现打开word文件,测试一下即可
word.Visible = False
#打开指定的word文件
doc = word.Documents.Open(r'D:\Python_Project\合并word文档\另存为\关羽.docx')
3. 将此文件另存为其他名称
doc.SaveAs(r'D:\Python_Project\合并word文档\另存为\关羽_另存为.docx')
#第2步里打开了 关羽.docx ,此时需要将其关闭
doc.Close()
【另存为】部分完整代码如下:
import os
#输入输出函数,用来获取目录路径
import win32com.client as win32
word = win32.gencache.EnsureDispatch('Word.Application')
#启动word对象应用
word.Visible = True
doc = word.Documents.Open(r'D:\Python_Project\合并word文档\需合并文档\关羽.docx')
doc.SaveAs(r'D:\Python_Project\合并word文档\另存为\关羽_另存为.docx')
doc.Close()
合并word
事件背景是,前段时间搬工位,每个同事都需要打印自己的名称和工位,所以每个人都会有一份word,此时就可以通过合并word生成一份所有人的信息,打印一次即可。
- 首先准备好需要进行合并的word文档
文档里的内容基本一致,只有姓名、字以及个人照 - 将路径下的每个文件打印成列表
import os
files = []
for filename in os.listdir(path): #listdir可以将路径下的文件打印成列表
filename = os.path.join(path,filename)
files.append(filename)
- 将文件拼接成新文件
#获取目录下所有文件的路径
output = word.Documents.Add()
#新建空的word文档,
for file in files:
output.Application.Selection.InsertFile(file)
#拼接文档
doc = output.Range(output.Content.Start, output.Content.End)
#获取合并后文档的内容
output.SaveAs('D://Python_Project//合并word文档//result.docx') #保存
output.Close()#关闭
- 可得到结果word文件
【word拼接】部分完整代码如下:
import os
#输入输出函数,用来获取目录路径
import win32com.client as win32
word = win32.gencache.EnsureDispatch('Word.Application')
#启动word对象应用
word.Visible = False #是否可视化,如果改为True,则会在电脑上频繁出现word文档界面
path = r'D:\Python_Project\合并word文档\需合并文档'
#存放文件路径
files = []
for filename in os.listdir(path):
filename = os.path.join(path,filename)
files.append(filename)
#获取目录下所有文件的路径
output = word.Documents.Add()
#print(output)
#新建空的word文档,
for file in files:
output.Application.Selection.InsertFile(file)
#拼接文档
doc = output.Range(output.Content.Start, output.Content.End)
#获取合并后文档的内容
output.SaveAs('D://Python_Project//合并word文档//result.docx') #保存
output.Close()#关闭