我不是这个领域的程序员。
我们有一个基于VSTO框架的插件,适用于所有Windows Outlook应用程序。最近,我们制作了O365插件,它解决了我们向Mac发行的问题。但是,现有的Windows Outlook用户会看到两个不同的插件。有没有办法检测Outlook窗口插件是否已通过O365插件安装,反之亦然?
答案 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对象模型没有为此提供任何内容。