我正在做一个项目,当你点击鼠标右边的clik附件时,它会使用Outlook来执行一个进程。
在2013年展望之前,该项目一直运作良好。我发现这篇文章解释了为什么它不再起作用了:
在Outlook 2013中,他们已经完全删除了所有内置命令栏和命令栏控件。因此,无法访问和使用Outlook 2013中内置的主菜单、上下文菜单和工具栏。由于同样的原因,Outlook 2013中不支持AttachmentContextMenuDisplay和ContextMenuclose事件。
实际上,由于未触发的事件,我的程序崩溃了:
this.Application.AttachmentContextMenuDisplay += new Outlook.ApplicationEvents_11_AttachmentContextMenuDisplayEventHandler(Application_AttachmentContextMenuDisplay);你们知道如何让它在Outlook 2013中工作吗?我还在找信息。
非常感谢!
发布于 2016-11-29 09:40:51
解决办法就在我找到的帖子里..。
以下是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());
}
}好了,如果它能帮到任何人的话;)
https://stackoverflow.com/questions/40847152
复制相似问题