【发布时间】:2018-03-07 10:13:53
【问题描述】:
是否可以从 Outlook 自己的 VBA 代码中执行 Outlook 加载项或访问其属性?还是插件完全独立于宏开发?
我正在尝试扩展 Skype for Business 插件 (UCAddin.dll) 的使用。
【问题讨论】:
标签: vba outlook com outlook-addin
是否可以从 Outlook 自己的 VBA 代码中执行 Outlook 加载项或访问其属性?还是插件完全独立于宏开发?
我正在尝试扩展 Skype for Business 插件 (UCAddin.dll) 的使用。
【问题讨论】:
标签: vba outlook com outlook-addin
见Walkthrough: Calling Code in a VSTO Add-in from VBA。
您必须了解加载项中可用的公共 API。或遵循公开可用的合同/界面。
【讨论】:
如果它是您自己的插件,那么可以 - 您的代码可以访问 Application.COMAddins 集合,找到插件并使用 COMAddin.Object 属性。反过来,您的插件必须在该 COMAddin.Object 属性中公开一个对象 - 为此,它需要在处理 IDTExtensbility2.OnConnection 回调时作为参数传递的 COMAddin 对象上设置该属性。
话虽如此,我认为 Skype 插件不会通过 COMAddin.Object 属性公开任何内容。
【讨论】:
不,他们不是孤立的。
只需添加一个您的插件支持的新 COM 对象(可能是单例),并带有您需要的接口。在宏代码中使用 CreateObject,您可以访问您的特殊接口和插件的内部......
【讨论】: