【发布时间】:2014-05-12 20:39:34
【问题描述】:
我有一个 C++ 应用程序,它在 .docm 文件中的 word 宏中调用邮件合并。该宏适用于 Windows XP,但不适用于 Windows 7。我想首先在它工作的 Windows XP 中调试该宏,然后移至它不工作的 Windows 7。
我在宏中设置了一个断点以进行调试,但是当从我的应用程序调用时,我无法让调试器参与其中。很多年前我曾经这样做过(以及 WORD 的版本)。是否仍然可以这样做,我在最后一天半的时间里用谷歌搜索了这个,但我什么也没想到。
【问题讨论】:
-
还有相关的:什么版本的 Word?
-
感谢您花时间阅读和考虑我的帖子。在我的 XP 和 Win 7 机器上使用的 Word 版本都是 2010。在我在 2010 年运行它之后,我将适应 Word 2013。C++ 应用程序的 IDE 是 Visual Studio 6。尽管 VS 6 C++ IDE 无法在 Win 7 上安装,但 C++ 可执行文件在 Win 7 中运行没有问题。更多细节;我已经进入 Word 的信任中心设置并设置了“启用所有宏”单选按钮,这是完成这项工作的必要步骤。我还设置了“信任对 VBA 项目对象模型的访问”,但没有成功。
-
在 Win 7 中录制宏并保存后,我不得不重新打开它并将其转换为 2010,就好像它来自 Word 的早期版本一样,以阻止它以兼容模式出现,据我了解,禁用宏。
-
总之,此宏在 XP 机器上的 Word 2010 中(通过 C++ 应用程序中的 OLE 调用)有效,但在 Win 7 计算机上无效。我想在宏启动时自动使用 VBA 宏调试器,首先是在 XP 环境中运行,然后在 Win 7 环境中找出问题所在。我已经确认我已经在 C++ 应用程序调用的同一宏实例中设置了断点,并且我无法让 VBA 宏调试器从任一操作系统中使用。