Я пытаюсь управлять Word, используя скрипт Python3, используя win32com.Я импортировал VBA UserForm и пытаюсь показать его, но получаю сообщение об ошибке.Некоторый код:
from win32com.client.dynamic import Dispatch
from win32com.client.dynamic import ERRORS_BAD_CONTEXT
import win32com.client as win32
app = win32.gencache.EnsureDispatch('Word.Application')
app.Visible = True
app.Documents.Open('.../'+current_doc+'.docx')
try:
app.VBE.VBProjects(1).VBComponents \
.Import('.../UserForm1.frm')
app.Run('UserForm_Initialize()')
Сценарий успешно импортирует пользовательскую форму, но при попытке инициализации выдает эту ошибку:
com_error: (-2147352567, 'Exception occurred.', (0, 'Forms.Form.1', "Can't move focus to the control because it is invisible, not enabled, or of a type that does not accept the focus.", 'fm20.hlp', 0, -2147352573), None)
Кто-нибудь знает способ успешной инициализации пользовательской формы?К сожалению, я не могу использовать альтернативу использованию пользовательской формы VBA, так как эта часть уже полностью написана.
Спасибо !!!
Примечание: я проверил app.Run ()Команда верна, если также отдельно импортировать модуль для вызова пользовательской формы и запустить его.Та же ошибка.Однако если я затем открою консоль VBA и запуском того же модуля, он успешно откроет пользовательскую форму.