|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
工作中经常遇到一种情况:从excel文件中提取数据,填到word模板中,并将word打印。我想,编一段代码,用以实现自动提取数据,填写模板,并打印。前面的部分都实现了,唯独打印部分除了问题。
下面是打印部分的代码:
import os,win32api,time
def print_docx(file_dir,num):
'''打印num份文档'''
for i in range(num):
win32api.ShellExecute (0,"print",file_dir,'',".",0)
# 调用shellexecute,执行打印命令
# 第一个参数为父窗口的句柄,如果没有父窗口,则为0
# 第二个参数为要进行的操作,为“open”、“print”或者为空。
# 第三个参数为要运行的程序,或者打开的脚本或文件。
# 第四个参数要向程序传递的参数,如果打开的为文件,则为空。在此为空,则意味着启动默认打印机
# 第五个参数是程序初始化目录
# 第六个参数是是否显示窗口,0表示不显示,即不打开文件的窗口
目前的问题是这样的,如果只打印一个文件,且文件只打印一份,程序可以正常运行。但如果打印多份,就会弹出下面的窗口:
file:///C:/Users/Administrator/Desktop/%E4%B8%B4%E6%97%B6%E6%96%87%E4%BB%B6/%E5%BC%B9%E7%AA%97.jpg
弹窗提示:
××.docx被“Microsoft”锁定,无法编辑
只读打开副本
创建本地副本,稍后合并更改
在原副本可用时,接收通知
确定 取消
当我选择一个选项,点击确定后,程序可以运行不报错,但是打印顺序经常会乱。
因为模板都是打印好的,我把每个人的模板文件对照Excel中的数据排好序,放入打印机,然后开始打印。
如果打印顺序乱了,就把每个人的信息都搞打印错乱了。
请教各位高手,看看该怎么解决
|
|