Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从VBA代码转储MS Access宏对象信息_Vba_Ms Access - Fatal编程技术网

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

从VBA代码转储MS Access宏对象信息,vba,ms-access,Vba,Ms Access,我有一个项目,我需要比较Access 2003数据库的不同版本。我们对表格中的数据不感兴趣。我们只对描述数据库的对象感兴趣。即表单对象、报表对象、querydfs、tabledef等。。数据库相当大,因此方法是通过在每个数据库中运行VBA应用程序,然后在diff viewer中比较结果,将感兴趣对象的所有描述转储到文本文件中 几天来,我一直在四处寻找如何从VBA中动态转储access 2003宏内容。请不要将此与从VBA中转储VBA代码混淆 我了解Application.CurrentDB.Al

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

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

我了解Application.CurrentDB.AllMacros以获取活动access数据库中的宏列表。但是我无法从macro(MacroName).SomeProperty获取宏对象,因为宏未打开。所以我一直在寻找一种打开宏的方法,但还没有找到一种通过VBA实现的方法

在此主题上的任何帮助都将不胜感激


谢谢

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

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

有关比较Access数据库的实用程序列表,请参见下页

有关比较Access数据库的实用程序列表,请参见下页

您可以使用非文档应用程序导出宏。SaveAsText:

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

…将AutoKeys宏保存到当前目录中的任何目录。

您可以使用非文档应用程序导出宏。SaveAsText:

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

将AutoKe宏宏保存到当前目录的任何位置。

我确实考虑过这个问题。但我不确定这是否是正确的答案,因为每次宏中发生更改时,客户端都必须执行此步骤,因此很容易出现不同步的情况。也许正确的方法是通过vba将宏转换成vba?@Ben:无论如何,我不太明白你问题的中间部分。为什么要“每次宏中发生更改时都执行此步骤”???我的意思是:1)去掉宏,2)如果使用正确拆分的数据库,只需复制前端,最终重新链接表,就完成了!我确实考虑过了。但我不确定这是否是正确的答案,因为每次宏中发生更改时,客户端都必须执行此步骤,因此很容易出现不同步的情况。也许正确的方法是通过vba将宏转换成vba?@Ben:无论如何,我不太明白你问题的中间部分。为什么要“每次宏中发生更改时都执行此步骤”???我的意思是:1)去掉宏,2)如果使用正确拆分的数据库,只需复制前端,最终重新链接表,就完成了!Stackoverflow不是一个论坛。请查看。Stackoverflow不是论坛。请查收这封信。