我在 Publisher 中编写了一个宏,并将其添加到我的快速访问栏中。不幸的是,该宏仅在创建它的文档中运行。在所有其他文档中,该按钮不起作用。
有没有办法让宏在所有 Publisher 文档中运行?我知道 Excel 宏有一个存储位置的选项(个人工作簿、此工作簿等),这会改变此行为。Publisher 有类似的选项吗?
答案1
如果没有“Publisher add-in”文档类型,那么您需要用 Visual Studio 用 C# 或 VB.NET 编写一个 COM 插件(即而不是用 VBA)。
MSDN 博客上的这篇文章解释如何制作 Access 插件,如下所示:
VSTO 支持大多数支持基于 IDTExtensibility2 的 COM 加载项的 Office 应用程序的加载项,即:Excel、InfoPath、Outlook、PowerPoint、Project、Visio 和 Word,但不适用于 Access、FrontPage、Publisher 或 SharePoint Designer。
对于 Publisher 来说,该过程非常相似:参考主互操作程序集 (PIA) 来获取该类Microsoft.Office.Interop.Publisher.Application
,然后基本上所有设置就绪 - 只需设计您的 Ribbon 扩展、实现您的功能、编译、注册,然后就可以了。