2017-10-04 1 views
0

Ich versuche, ein Textfeld einzufügen, das ich zu einer FormRegion hinzugefügt habe, wenn die Mail-Nachricht geöffnet wurde. Die Textbox ist im Element vorhanden, aber wenn Sie versuchen, die Kategorie dem Textfeld zuzuordnen, erhalten Sie eine Null-Referenzausnahme, da FormRegion1 null ist.FormRegion null in NewInspector

Imports Microsoft.Office.Interop.Outlook 

Public Class ThisAddIn 

    Private WithEvents inspectors As Outlook.Inspectors 

    Private Sub ThisAddIn_Startup() Handles Me.Startup 
     inspectors = Me.Application.Inspectors 

    End Sub 

    Private Sub inspectors_NewInspector(ByVal Inspector As Microsoft.Office.Interop.Outlook.Inspector) Handles inspectors.NewInspector 

     Dim mailItem As Outlook.MailItem = TryCast(Inspector.CurrentItem, Outlook.MailItem) 
     Dim mCat As String 
     Dim formRegions As WindowFormRegionCollection = Globals.FormRegions(Inspector) 
     mCat = mailItem.Categories 
     formRegions.FormRegion1.TextBox1.Text = mCat 

    End Sub 

    Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown 

    End Sub 

End Class 
+0

Wäre es besser, einen Aufgabenbereich anstelle einer Formularregion zu verwenden? –

Antwort

0

Wahrscheinlich der Formularbereich wurde nicht für das Inspektor-Fenster zu dem Zeitpunkt erstellt, wenn das NewInspector Ereignis ausgelöst wird. Stattdessen empfehle ich, das Ereignis Activate der Inspector-Klasse zu behandeln, wo Sie dieselben Operationen ausführen können. Sie können den Abschnitt Creating Outlook Form Regions in MSDN hilfreich finden.