7

我需要使用 Microsoft.Office.Interop.Word 命名空间来提取 Word 文档是否包含宏以及哪些宏。与其他 .Net 类的文档相比,此命名空间的 MSDN 文档没有提供太多信息。我在哪里可以获得有关此命名空间的更多信息(示例、完整文档等)。我已经在 Google 和 SO 上进行了搜索,但没有太多信息。

4

5 回答 5

3

没有好的文档。唯一的资源是 MSDN(安静不好)和一些博客。也许你可以在这里找到一些信息:http: //blogs.msdn.com/mshneer/

于 2010-03-23T09:43:23.903 回答
3

正确的答案是检查Document.HasVBProject属性。

引用备注部分:“此属性在以编程方式确定是否需要将文档保存为启用宏的文件格式时最有用。如果以另一种格式保存,文档中包含的宏和代码项目可能会丢失。”

于 2012-06-26T00:33:04.117 回答
2

您可以在此处了解有关 Office 2007/Office 2010 的更多信息:http: //msdn.microsoft.com/en-us/library/dd925808.aspx

于 2010-03-02T15:00:59.623 回答
0

Microsoft.Vbe.Interop是 VBA 的命名空间。(VBE 是Visual Basic for Application Extensibility 5.3。)帮助您搜索的关键字是VBProjectVBComponentCodeModule.

MSDN Search for VBProject 将帮助您入门。 http://social.msdn.microsoft.com/Search/en-US?query=VBProject&ac=8

以下文章适用于 VBA,但很容易转换。WD2000:返回宏和过程名称的示例宏,位于http://support.microsoft.com/kb/262961

于 2010-03-05T00:16:22.220 回答
-1

大部分文档位于 Microsoft Word 附带的 VBA 帮助文件中 - 对于 Microsoft Word 2003,请查找文件 VBAWD10.CHM。还要检查 Microsoft Office Visual Basic 参考 ( VBAOF11.CHM )

上面的 10 和 11 是 Word 和 Office 的版本号 - 所以你的里程会根据你安装的 Word 版本而有所不同。此外,所有版本的 Word 中的命名都不一致,因此搜索所有 VBA*.CHM 可能会找到您需要的大部分文档。

这些将回答您关于 Word API 的大部分问题。

看不到在打开的文档或模板中查找宏列表的明显方法,但是...如果您确实找到了方法,请在此答案中添加评论,我很想知道。

(请注意,使用 Word 互操作时,每个调用都可能引发异常。例如,如果 Word 有任何模式对话框打开,您将收到异常。相应地进行编程)。

于 2010-03-11T02:45:02.750 回答