2017-10-04 22 views
0

我试图放入一个文本框,当邮件项目os打开时,我已经添加到FormRegion。文本框存在于该项目中,但是当尝试将该类别分配给文本框时,由于Formregion1为空,因此会得到一个空引用异常。在NewInspector中的FormRegion null

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

将使用任务窗格而不是表单区域是一个更好的选择? –

回答

0

最有可能当NewInspector触发事件没有为当时的Inspector窗口创建的窗体区域。相反,我建议您处理Inspector类的Activate事件,您可以在其中执行相同的操作。您可能会发现MSDN中的Creating Outlook Form Regions部分对您有所帮助。

相关问题