有没有办法查看是否安装了特定的加载项?

时间:2017-01-26 15:02:45

标签: outlook office365 office-js office365-apps outlook-web-app

是否有方法(API或其他?)来确定是否安装了加载项?

我正在考虑扩充Exchange安装以插入我自己的按钮来告诉我的用户是否安装了Outlook加载项?

是否有用于查找的API?

2 个答案:

答案 0 :(得分:0)

Office对象模型具有可从Outlook.Application对象访问的COMAddins集合,您可以使用该集合迭代所有已注册的加载项。加载的任何加载项都将COMAddin.Connect设置为True(您可以将其设置为False以卸载加载项)。

https://msdn.microsoft.com/en-us/library/ff870066.aspx

答案 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();
                               
}