2016-11-28 3 views
-1

Je travaille sur un projet qui utilise Outlook pour exécuter un processus lorsque vous cliquez sur une pièce jointe avec le clic droit de la souris.Ajout d'un menu contextuel de pièce jointe Outlook 2013

Le projet fonctionnait bien jusqu'à 2013. Perspectives J'ai trouvé ce post qui explique pourquoi il ne fonctionne plus:

Dans Outlook 2013, ils ont supprimé tous les CommandBars intégrés et des contrôles commandbar complètement . Pour cette raison, vous ne pouvez pas accéder et utiliser les menus principaux intégrés, les menus contextuels et les barres d'outils dans Outlook 2013. Les événements AttachmentContextMenuDisplay et ContextMenuclose ne sont pas pris en charge dans Outlook 2013 pour la même raison.

Link to the post

En effet, mon programme est écrasé en raison de cet événement qui est pas déclenché:

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

Avez-vous les gars avez une idée sur la façon de faire fonctionne pour Outlook 2013? Je suis toujours à la recherche d'informations.

Merci beaucoup!

Répondre

0

La solution était dans le poste que j'ai trouvé ...

Voici le 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> 

Et le code de la méthode:

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

Nous y voilà, si pourrait aider n'importe qui;)