我正在开发一个项目,当你使用鼠标右侧clik命中附件时,使用Outlook执行一个过程。
该项目在2013年展望期间运作良好。 我发现这篇文章解释了为什么它不再起作用了:
在Outlook 2013中,他们完全删除了所有内置的Commandbars和命令栏控件。因此,您无法访问和使用Outlook 2013中的内置主菜单,上下文菜单和工具栏。出于同样的原因,Outlook 2013不支持AttachmentContextMenuDisplay和ContextMenuclose事件。
事实上,由于此事件未被触发,我的程序崩溃了:
this.Application.AttachmentContextMenuDisplay += new Outlook.ApplicationEvents_11_AttachmentContextMenuDisplayEventHandler(Application_AttachmentContextMenuDisplay);
你们有没有想过如何让它适用于Outlook 2013? 我还在寻找信息。
非常感谢!
答案 0 :(得分:0)
解决方案是我发现的帖子......
这是XML:
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
<contextMenus>
<contextMenu idMso="ContextMenuAttachments">
<button id="DT2MQPRContextMenuAttachments"
label="Add to MQPR..."
getVisible="DT2MQPRButton_GetVisible"
onAction="OnMyButtonClick" />
</contextMenu>
</contextMenus>
</customUI>
方法的代码:
public void OnMyButtonClick(Office.IRibbonControl control)
{
try
{
object context = control.Context;
if (context == null) return false;
if (context is Outlook.AttachmentSelection)
{
Outlook.AttachmentSelection selectedAttachments = context as Outlook.AttachmentSelection;
SelectedAttachment = attachment[1];
OutlookCommon._fName = SelectedAttachment.FileName;
// etc...
}
Marshal.ReleaseComObject(context); context = null;
}
catch (Exception ex)
{
Console.WriteLine("attachmentButton_Click " + ex.ToString());
}
}
我们去,如果它可以帮助任何人;)