我可以使用宏代码中的Outlook加载宏吗?

问题描述:

是否可以执行Outlook加载项或从Outlook自己的VBA代码中访问它的属性?或者,加载项与宏观开发完全隔离?我可以使用宏代码中的Outlook加载宏吗?

我正在尝试扩展Skype for Business加载项(UCAddin.dll)的使用。

不,他们不是孤立的。

只需添加一个新的COM对象(也许是一个单例),您的插件支持您需要的接口。在宏代码中使用CreateObject,你可以访问你的特殊接口和你的插件的内部...

如果它是你自己的插件,那么是的 - 你的代码可以访问Application.COMAddins集合,找到插件,使用COMAddin.Object属性。您的插件又必须公开COMAddin.Object属性中的对象 - 为此,需要在处理IDTExtensbility2.OnConnection回调时将COMAddin对象上的属性设置为参数。

这就是说,我不认为Skype插件通过COMAddin.Object属性公开任何东西。

参见Walkthrough: Calling Code in a VSTO Add-in from VBA

您必须知道加载项中可用的公共API。或者按照公开提供的合同/界面。