[英]Add attachment context menu Outlook 2013
我正在研究一個項目,當您用鼠標右鍵單擊附件時,該項目將使用Outlook來執行一個過程。
該項目在Outlook 2013之前運行良好。我發現了這篇文章,解釋了為什么它不再起作用了:
在Outlook 2013中,他們已完全刪除了所有內置命令欄和命令欄控件。 因此,您無法在Outlook 2013中訪問和使用內置的主菜單,上下文菜單和工具欄。出於相同的原因,Outlook 2013不支持AttachmentContextMenuDisplay和ContextMenuclose事件。
實際上,由於未觸發此事件,我的程序崩潰了:
this.Application.AttachmentContextMenuDisplay += new Outlook.ApplicationEvents_11_AttachmentContextMenuDisplayEventHandler(Application_AttachmentContextMenuDisplay);
你們對如何使其適用於Outlook 2013有任何想法嗎? 我仍在尋找信息。
非常感謝 !
解決方案在我發現的帖子中...
這是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());
}
}
如果可以幫助任何人,我們就走了;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.