【发布时间】:2019-05-23 07:08:59
【问题描述】:
我在 word 2013 中有一个宏,它可以删除空格并调整页面宽度大小以确保表格适合。 目前,为了对文档进行这些更改,用户需要先运行宏,并且只有在运行宏之后,当他们打印文档时,才能确保所做的更改。
我想自动化运行宏的部分
这是用于格式化 word doc 以确保文档中的表格适合页面。
import os
import time
import win32com.client
from docx import Document
macro_to_run = 'PostProcess'
document =
wordapp.Documents.Open('C:\\Users\\sarvesa\\Downloads\\test_xrd.doc')
wordapp.run(document, macro_to_run)
document.save
document.close
Traceback(最近一次调用最后一次): 文件“filename_change.py”,第 12 行,在 wordapp.run(文档,macro_to_run) getattr 中的文件“C:\Users\sarvesa\AppData\Local\Programs\Python\Python36-32\lib\site-packages\win32com\client\dynamic.py”,第 516 行 ret = self.oleobj.Invoke(retEntry.dispid,0,invoke_type,1) pywintypes.com_error: (-2147352567, '发生异常。', (0, 'Microsoft Word', "'Run' 不是属性。", 'wdmain11.chm', 25342, -2146822426), None)
【问题讨论】:
-
你如何定义
wordapp?如果根据您当前的代码是我的想法,请尝试wordapp.Application.Run(macro_to_run)
标签: python-3.x win32com