2016-11-28 2 views
-1

Ich arbeite an einem Projekt, das Outlook verwendet, um einen Prozess auszuführen, wenn Sie einen Anhang mit der Maus klick klick drücken.Anlage hinzufügen Kontextmenü Outlook 2013

Das Projekt funktionierte gut, bis Outlook 2013 ich diesen Beitrag gefunden haben, die erklärt, warum es nicht mehr funktioniert:

In Outlook 2013 haben sie alle vollständig integrierte in Command und commandbar Kontrollen gelöscht . Aus diesem Grund können Sie in Outlook 2013 nicht auf integrierte Hauptmenüs, Kontextmenüs und Symbolleisten zugreifen und diese verwenden. Die Ereignisse AttachmentContextMenuDisplay und ContextMenuclose werden in Outlook 2013 aus dem gleichen Grund nicht unterstützt.

Link to the post

Tatsächlich stürzte mein Programm auf dieses Ereignis durch die nicht ausgelöst wird:

this.Application.AttachmentContextMenuDisplay += new Outlook.ApplicationEvents_11_AttachmentContextMenuDisplayEventHandler(Application_AttachmentContextMenuDisplay); 

Haben Sie Jungs haben keine Vorstellung davon, wie es für Outlook 2013 machen funktioniert? Ich bin immer noch auf der Suche nach Informationen.

Vielen Dank!

Antwort

0

Die Lösung in der Post war ich gefunden habe ...

Hier ist der 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> 

und der Code-Methode:

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()); 
    } 
} 

Dort gehen wir, wenn es könnte jedem helfen;)

Verwandte Themen