如何从VSTO Outlook插件中检测Office 365插件是否已处于活动状态,反之亦然?

时间:2018-05-28 08:42:20

标签: outlook vsto office-js

我不是这个领域的程序员。

我们有一个基于VSTO框架的插件,适用于所有Windows Outlook应用程序。最近,我们制作了O365插件,它解决了我们向Mac发行的问题。但是,现有的Windows Outlook用户会看到两个不同的插件。有没有办法检测Outlook窗口插件是否已通过O365插件安装,反之亦然?

2 个答案:

答案 0 :(得分:3)

不幸的是,没有功能可以检测COM / VSTO加载项安装或从Office.js API枚举已安装的加载项。如果您有强大的商业案例,您可以在https://officespdev.uservoice.com/发布请求。

另一方面,您可以检查是否从VSTO / COM加载项内部安装了特定的Office.js加载项。为了执行此检查,您需要知道Office.js附加ID,这不应该是问题,因为这是您的公司产品。您需要使用Associated contents table接口枚举收件箱文件夹的IMAPIFolder中的邮件。在找到类“import java.util.regex.Pattern; import java.util.regex.Matcher; public class MagicMatcher { private Pattern pattern; private Matcher matcher; private String stringToCheck; public MagicMatcher(Pattern p , String s) { pattern = p; stringToCheck = s; updateMatcher(); } public boolean matches() { return matcher.matches(); } private void updateMatcher() { matcher = pattern.matcher(stringToCheck); } public void setStringToCheck(String s) { stringToCheck = s; updateMatcher(); } public String getStringToCheck() { return stringToCheck; } public void addCharacterToCheck(char c) { stringToCheck += c; updateMatcher(); } public void addStringToCheck(String s) { stringToCheck += s; updateMatcher(); } } ”的消息后,其中零必须是Office JS加载项的ID。如果已找到该消息,则已将Office.js加载项安装到用户的邮箱中。

您可以做更多事情,例如share the add-on properties and settings between VSTO/COM and O365 add-ons

答案 1 :(得分:0)

不,目前没办法。 Outlook对象模型没有为此提供任何内容。