#python #ms-word #macros #win32com
Вопрос:
Я пытаюсь запустить макрос MS-word VBA с python, но продолжаю получать сообщение об ошибке.
import win32com.client as win32
WrdApp = win32.GetActiveObject("Word.Application")
#Call current file
WrdDoc = WrdApp.ActiveDocument
#Insert Caption
WrdApp.Selection.InsertCaption(Label='number')
#^This line gives the error
сообщение об ошибке
com_error: (-2147352567, 'Exception occurred.', (0, 'Microsoft Word', 'Command failed', 'wdmain11.chm', 36966, -2146824090), None)
Любой, кто знаком с Python и макросом MS-word, может сказать мне, почему я получил эту ошибку?
Ответ №1:
Если вы хотите использовать другие метки, кроме «Уравнение», «Рисунок», «Таблица» или WdCaptionLabelID в метке, вы должны определить новую (см. https://docs.microsoft.com/en-us/office/vba/api/word.selection.insertcaption, https://docs.microsoft.com/en-us/office/vba/api/word.captionlabels):
import win32com.client as win32
WrdApp = win32.GetActiveObject("Word.Application")
# Call current file
WrdDoc = WrdApp.ActiveDocument
cLabel = "number"
# define new label
WrdApp.CaptionLabels.Add(Name=cLabel)
# Insert Caption
WrdApp.Selection.InsertCaption(Label=cLabel)
# no error