2016-07-20 15 views
1

ich diesen Code verwenden genannt ...VSTO: Outlook NewInspector nicht

Dim inspectors As Outlook.Inspectors = Outlook.Application.Inspectors 
AddHandler inspectors.NewInspector, AddressOf Inspectors_NewInspector 

... zu meinen benutzerdefinierten Panel zu einem Netto-MailItem hinzuzufügen.

Aber wenn ich das Snipping Tool in Windows verwenden und sagen, dass es das Snippet zu E-Mail, dann wird NewInspector nicht eventhough eine neue E-Mail genannt wird erstellt.

Jede Idee, warum NewInspector genannt wird, nicht wahr?

Dank

UPDATE MIT CODE:

Hier ist ein einfaches Codebeispiel. Senden eine E-Mail von einem externen Programm (wie Word, Excel, Snipping Tool usw.) Ereignis nicht den NewInspector nicht nennen ...

Imports System.Runtime.InteropServices 
Imports Microsoft.Office.Interop.Outlook 
Imports Microsoft.Office.Tools 
Imports Outlook = Microsoft.Office.Interop.Outlook 

Public Class ThisAddIn  

    Private WithEvents _inspectors As Outlook.Inspectors 

    Private Sub ThisAddIn_Startup() Handles Me.Startup 
     _inspectors = Globals.ThisAddIn.Application.Inspectors 
    End Sub 

    Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown 
    End Sub 

    Private Sub _inspectors_NewInspector(Inspector As Inspector) Handles _inspectors.NewInspector 
     MsgBox("New inspector") 
    End Sub 

End Class 

Antwort

1

NewInspector Ereignis nicht für die Inspektoren Feuer erstellt Simple MAPI oder Mailto-Links verwenden (dies ist durch Design). Sie können einen Timer haben, die über die Application.Inspectors Sammlung regelmäßig Schleifen zu überprüfen, ob es ein neuer Inspektor ist noch nicht von Ihrem Code behandelt.

+0

Dank Dmitry ... na ja es muss ein Fehler sein, da Microsoft heißt es: „Tritt ein, wenn ein neues Fenster Inspektoren geöffnet wird, entweder als Ergebnis einer Benutzeraktion oder durch Code-Programm.“ ... und es ist eindeutig nicht. Anstelle eines Timers verwende ich ein Ribbons Load Event :) Danke für Ihre Hilfe. – MojoDK

0

Sie müssen sich auf der globalen (Klasse) Ebene variable Inspektoren erklären sie, um sicherzustellen, ist kein Müll gesammelt.

+0

ich versucht, aber es hat nicht geholfen. – MojoDK

+0

Bitte zeigen Sie Ihren neuesten Code –

+0

Ich habe einige Beispielcode hinzugefügt. Vielen Dank. – MojoDK