Кто-нибудь пробовал запускать макрос, встроенный в документ Microsoft Word из Python? - PullRequest
0 голосов
/ 23 мая 2019

У меня есть макрос в word 2013, который удаляет пробелы и корректирует размер ширины страницы, чтобы обеспечить соответствие таблиц.В настоящее время, чтобы внести эти изменения в документ, пользователь должен сначала запустить макрос, и только после его запуска, при печати документа, изменения будут обеспечены.

Я хотел бы автоматизироватьчасть запуска макроса

Это для форматирования слова 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 (document, macro_to_run), файл "C: \ Users \ sarvesa \ AppData \ Local \ Programs\ Python \ Python36-32 \ lib \ site-packages \ win32com \ client \ dynamic.py ", строка 516, в getattr ret = self. oleobj .Invoke (retEntry.dispid, 0, invoke_type, 1) pywintypes.com_error: (-2147352567, «Возникло исключение.», (0, «Microsoft Word», «Run» не является свойством. »,« Wdmain11.chm », 25342, -2146822426), Нет)

...