【发布时间】:2010-11-14 23:56:27
【问题描述】:
我想在 MS Office 中添加某些功能。目前,我正在寻找 VBA 来开发它。但是,运行宏似乎需要禁用安全性。这意味着如果我分发 VBA 程序,其他人需要启用宏才能运行。 (安全问题)
现在的问题是,我如何分发我编写的 VBA?例如。在 .exe 文件中?还有其他方法可以创建这个插件吗?
我为 MS Word 下载了一些插件,它似乎是用 C++ 编写的,并且是 .dll 格式。
谢谢。
【问题讨论】:
我想在 MS Office 中添加某些功能。目前,我正在寻找 VBA 来开发它。但是,运行宏似乎需要禁用安全性。这意味着如果我分发 VBA 程序,其他人需要启用宏才能运行。 (安全问题)
现在的问题是,我如何分发我编写的 VBA?例如。在 .exe 文件中?还有其他方法可以创建这个插件吗?
我为 MS Word 下载了一些插件,它似乎是用 C++ 编写的,并且是 .dll 格式。
谢谢。
【问题讨论】:
即使在“高”安全模式下,您也可以在文档/模板/加载项中运行宏,如果:
用户第一次运行使用您的数字签名签名的宏时,他们会收到提示“宏由 YourCompanyName 签名 - 您是否要信任来自此发布者的所有加载项”。如果他们点击“是”,他们将不会再次看到提示 - 您的宏将运行。
有关如何创建数字签名的详细信息,请参阅this link。
【讨论】:
Visual Studio Tools for Office (VSTO) 允许您使用任何 .NET 语言(包括 Visual C++)创作 Microsoft Office 扩展。这样的扩展确实会编译为 DLL 文件,并且在客户端机器上安装后,它们不需要用户关闭任何额外的安全警告。您需要 Visual Studio 2005/2008 Professional 才能使用 VSTO 框架。
Wikipedia 有更多关于 VSTO 的信息,包括与 VBA 的比较。 Amazon 似乎也有大量关于该主题的书籍。
【讨论】: