从 Word 获取Microsoft所有宏(使用自动化)

Get all macros from Microsoft Word (using automation)

本文关键字:自动化 Word 获取 Microsoft      更新时间:2023-10-16

我正在编写一个C++MFC程序,该程序使用其接口自动执行MS Word。

从我的应用程序中,我可以打开MS Word,打开宏窗口,但我需要从组合框中检索所有宏并将它们添加到我的应用程序中,以便以后用户可以选择要应用于某个文档的宏。

可以使用 GetProperty 方法进行检索吗?如果可以,你能给我举个例子吗?

您可以使用 Document.VBProject 访问 VBA 代码(以访问文档中的宏)。以下是使用VBA/C#在word中执行此操作的方法。您可以使用C++重写该代码。

请注意,MFC 不是使用单词自动化的最简单方法,但您也可以使用 MFC 执行此操作。使用 MFC 执行自动化时,有多种方法可用。您可以使用仅 MFC 的方式(即从 90x 开始的样式,使用对象包装器)或使用例如 #import 指令。

GetProperty 基本上是一个通用方法,它可以是获取它所应用到的对象的一些属性,即它不特定于宏。

另请注意,最终用户必须启用"信任对 VBA 项目的编程访问",以允许代码获取宏(这是 word 安全设置中的一个复选框,默认情况下处于关闭状态)。可能是一个表演障碍。