Ошибка выполнения макроса MS Access из Python - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь запустить макрос из Python.Упомянутый макрос работает нормально, когда выполняется из самого Access, но я пытаюсь сделать это с помощью следующего кода Python (вручную украденного из Как запустить макрос MS Access из python ):

from win32com.client import Dispatch

access_obj = Dispatch("Access.Application")
access_obj.Visible = False
access_obj.OpenCurrentDatabase("my_database_file.accdb")
access_obj.DoCmd.RunMacro("my_macro")
access_obj.DoCmd.CloseDatabase()

Выполнение предпоследней строки (...RunMacro("my_macro")), к сожалению, приводит к следующему непрозрачному сообщению об ошибке:

com_error: (-2147352567, 'Exception occurred.', (0, None, 'You canceled the previous operation.', 'vbaac10.chm', 5738, -2146826287), None)

Есть идеи, что это вообще значит?

1 Ответ

0 голосов
/ 23 апреля 2019

Если вы назовете макрос «AutoExec», он будет запускаться автоматически при открытии базы данных.

Источник: Создать макрос, который запускается при открытии базы данных

Макрос AutoExec - это просто макрос с именем AutoExec.Когда база данных запускается, Access запускает макрос AutoExec, прежде чем он запускает любые другие макросы или код VBA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...