是否有方法(API或其他?)来确定是否安装了加载项?
我正在考虑扩充Exchange安装以插入我自己的按钮来告诉我的用户是否安装了Outlook加载项?
是否有用于查找的API?
答案 0 :(得分:0)
Office对象模型具有可从Outlook.Application对象访问的COMAddins集合,您可以使用该集合迭代所有已注册的加载项。加载的任何加载项都将COMAddin.Connect设置为True(您可以将其设置为False以卸载加载项)。
答案 1 :(得分:0)
在Exchange和OWA(非桌面Outlook)中执行此操作的技巧是使用JS手动打开“加载项”窗格并尝试单击您的加载项。我意识到,并不完美,但它确实满足了原始要求,即使没有直接的API支持。
编辑名为microsoft.owa.mail.compose.js的文件,找到一个输入类似于以下内容的好地方。
var workDocument = (this.bh.bz) ? $(this.bh.bz.document) : window.document;
var yourAddIn = $(workDocument).find('iframe[title="Your_Add-In_Name"]');
if (yourAddIn.length > 0) {
yourAddIn[0].contentWindow.postMessage({ id: 'Look_for_your_id_using_DevTools_F12_and_Find_the_id', message: 'send'}, '*');
return;
} else {
// Click Add-in button, click the add-in name in the add-ins list
var addInsButton = $(workDocument).find("button[title='Add-ins']");
if (addInsButton.length <= 0) {
return;
}
addInsButton[0].click();
}