Извлечь информацию об объекте макроса MS Access из кода VBA - PullRequest
0 голосов
/ 07 августа 2011

У меня есть проект, в котором мне нужно сравнить разные версии базы данных Access 2003 друг с другом. Нас не интересуют данные в таблицах. Нас интересуют только объекты, которые описывают базу данных. То есть Объекты форм, объекты отчетов, QueryDefs, TableDefs и т. Д. Базы данных довольно большие, поэтому подход заключается в том, чтобы выгрузить все описания объектов, представляющих интерес, в текстовый файл, запустив приложение VBA в каждой из баз данных, а затем сравнив результаты. программа просмотра различий.

Я искал несколько дней, чтобы выяснить, как динамически выгрузить содержимое макроса access 2003 из VBA. Пожалуйста, не путайте это со сбросом кода VBA из VBA.

Я знаю о Application.CurrentDB.AllMacros, чтобы получить список макросов в базе данных активного доступа. Но я не могу получить макро-объект из Macro (MacroName) .SomeProperty, потому что макрос не открыт. Поэтому я пытался найти способ открыть макрос и не нашел способа сделать это с помощью VBA.

Любая помощь по этой теме будет принята.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 11 августа 2011

Вы можете экспортировать макросы с недокументированным Application.SaveAsText:

  Application.SaveAsText acMacro ,"AutoKeys", "AutoKeys.txt"

... сохраняет макрос AutoKeys в текущем каталоге.

0 голосов
/ 08 августа 2011

На следующей странице приведен список утилит для сравнения баз данных Access. http://www.granite.ab.ca/access/thirdparty.htm

0 голосов
/ 07 августа 2011

Вы можете вручную попросить Access преобразовать макросы в VBA. Существует вариант для этого, я думаю, когда вы щелкнете правой кнопкой мыши макрос. После этого вы можете сравнить сгенерированный VBA.

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