【问题标题】:Is there a way to see if a specific Add-In is installed?有没有办法查看是否安装了特定的加载项?
【发布时间】:2017-01-26 15:02:44
【问题描述】:

有没有办法(API 或其他?)找出是否安装了插件?

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

是否有用于查找的 API?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2021-05-14
        • 2011-12-06
        • 1970-01-01
        • 2011-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-25
        • 1970-01-01
        相关资源
        最近更新 更多