就像当我立即打开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(发送附件)
打开答案 0 :(得分:1)
您如何/何时添加自己的用户界面?请记住,如果使用简单MAPI或mailto链接打开检查器,则不会触发Inspectors.NewInspector事件。