我的自定义标签(Ribbon Designer,TabReadMessage,用于当前打开的电子邮件)多年来一直使用此代码。但在今年夏天Office更新后,它会在代码的第一行引发错误。
external-modules
我第一次打开电子邮件时工作正常,但当我关闭电子邮件并再次打开时,我收到错误(调试时):“Private Sub Ribbon1_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load
Dim mailItem As Outlook.MailItem = TryCast(Globals.ThisAddIn.Application.ActiveInspector.CurrentItem, Outlook.MailItem)
' do stuff
End Sub
”
有人可以向我解释原因吗?也许你可以重现错误?
我有Visual Studio 2012(VSTO + VB.Net)。 以下是我要重现的内容:
创建Outlook 2013加载项
添加功能区项目(可视设计器)并将RibbonType设置为“Microsoft.Outlook.Mail.Read”。
将标签更改为TabReadMessage。
在选项卡中添加一个按钮。
设置Debug,异常,公共语言运行时异常,系统,检查System.NullReferenceException中的“Thrown”。
将代码添加到Ribbon1_Load并运行/ debugg:
NullReferenceException occured