从VBA代码转储MS Access宏对象信息

时间:2011-08-07 08:42:35

标签: vba ms-access

我有一个项目需要将Access 2003数据库的不同版本相互比较。我们对表格中的数据不感兴趣。我们只对描述数据库的对象感兴趣。即表单对象,报表对象,QueryDefs,TableDefs等。数据库相当大,因此方法是通过在每个数据库中运行VBA应用程序,然后比较结果,将所有感兴趣对象的描述转储到文本文件中。差异观察者。

我一直在寻找几天来了解如何从VBA中动态转储访问2003宏内容。请不要将此与从VBA转储VBA代码混淆。

我了解Application.CurrentDB.AllMacros以获取活动访问数据库中的宏列表。但我无法从宏(MacroName)。SomeProperty获取宏对象,因为宏未打开。所以我一直试图寻找一种方法来打开宏,并且还没有找到通过VBA实现这一目标的方法。

对此主题的任何帮助都将不胜感激。

谢谢!

3 个答案:

答案 0 :(得分:3)

您可以使用undocument Application.SaveAsText:

导出宏
  Application.SaveAsText acMacro ,"AutoKeys", "AutoKeys.txt"

...将AutoKeys宏保存到当前目录中。

答案 1 :(得分:0)

您可以手动请求Access将宏转换为VBA。有一个选项,我认为当你右键单击宏。之后,您可以比较生成的VBA。

答案 2 :(得分:0)

有关比较Access数据库的实用程序列表,请参阅以下页面 http://www.granite.ab.ca/access/thirdparty.htm