使用Word自动化,是否可以查明活动文档是否包含VBA代码?

发布于 2024-12-01 09:18:20 字数 150 浏览 1 评论 0原文

使用 Word Automation,我想以编程方式保存活动文档。在 Office 2007/2010 中,需要将文档显式保存为“启用宏”,以保留该文档中的任何 VBA 代码。

我希望我的应用程序能够确定活动文档中是否有 VBA 代码,而不是要求用户进行选择。这可能吗?

Using Word Automation, I want to save the active document programmatically. In Office 2007/2010, the document needs to be saved explicitly as "macro enabled" to preserve any VBA code in that document.

Rather than asking the user to choose, I would like my application to be able to determine if there is VBA code in the active document. Is that possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

昔日梦未散 2024-12-08 09:18:20

是的,这可以通过 HasVBProject 属性确定。例如:

If ActiveDocument.HasVBProject = True Then

    'Code to save as .dotm

Else

    'Code to save as .dotx

End If

对于那些稍后可能偶然发现这篇文章的人,值得注意的是,该代码应放置在正在测试宏是否存在的文档之外(否则它会检测自身)。两个常用的选项是从外部应用程序或从存储在 Word 的启动文件夹中的模板访问代码。

Yes this can be determined via the HasVBProject property. For example:

If ActiveDocument.HasVBProject = True Then

    'Code to save as .dotm

Else

    'Code to save as .dotx

End If

For those who might stumble upon this post later, it is worth noting that this code should be placed outside the document being tested for the presence of macros (otherwise it would detect itself). Two often-used options would be to access the code from an external application or from a template stored in Word's Startup folder.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文