是否可以执行Outlook加载项或从Outlook自己的VBA代码中访问它的属性?或者,加载项与宏观开发完全隔离?我可以使用宏代码中的Outlook加载宏吗?
我正在尝试扩展Skype for Business加载项(UCAddin.dll)的使用。
是否可以执行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。或者按照公开提供的合同/界面。