从任何外部应用程序启动编辑器窗口时,Outlook插件不会显示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从任何外部应用程序启动编辑器窗口时,Outlook插件不会显示相关的知识,希望对你有一定的参考价值。
就像我立即打开Outlook,然后点击“新电子邮件”,我看到我的插件加载在新电子邮件窗口(这就是插件应该是的位置)。但是,当我在Word / Excel中打开文档并单击文件>>单击并保存>>使用电子邮件发送>>作为附件发送。现在它确实打开了Outlook“新电子邮件窗口”,但我的插件没有加载到侧边栏中。同样,在按照“mailto:this@email.com”之类的链接打开Outlook时
关于如何实现这种行为的任何建议/指针?
编辑:我尝试了一个计时器,间隔大约14秒(仅用于测试)。计时器事件确实执行但我没有得到一个应该是MailItem的检查器。这是代码:
private void OnTimedEvent(object sender, ElapsedEventArgs e)
{
diagnosticLog.Debug("In OnTimed Event!");
InspectorWrapper wrapper;
foreach (Outlook.Inspector item in Application.Inspectors)
{
diagnosticLog.Debug("In OutlookInspector Loop: " + item.ToString());
if (item is Outlook.MailItem)
{
diagnosticLog.Debug("Inspector is a MialItem: " + item.ToString());
diagnosticLog.Debug("In OnTimed Event!");
if (!inspectorWrappersValue.TryGetValue(item, out wrapper))
{
inspectorWrappersValue.Add(item, new InspectorWrapper(item));
diagnosticLog.Debug("new Inspector Added");
}
}
}
}
这一行:
foreach (Outlook.Inspector item in Application.Inspectors)
确实有一个检查员,但它永远不是一个Outlook.MailItem,因此我无法访问我应该添加我的插件的检查器。
inspectorWrappersValue是一个字典,它在InspectorWrapper的构造函数中,我初始化我的Addin UI。
inspectorWrappersValue.Add(item, new InspectorWrapper(item));
此检查员正在由Excel打开(发送附件)
答案
您何时/何时添加自己的UI?请记住,如果使用简单MAPI或mailto链接打开检查器,则不会触发Inspectors.NewInspector事件。
以上是关于从任何外部应用程序启动编辑器窗口时,Outlook插件不会显示的主要内容,如果未能解决你的问题,请参考以下文章