我正在使用VSTO开发一个Outlook插件。
在方法中: this.Load + =新的Microsoft.Office.Tools.Ribbon.RibbonUIEventHandler(this.MyApp_Load);
在功能区的MyApp_Load中,我使用以下代码:
if (Globals.ThisAddIn.isLoggedIn())
{
btnMyApp.Visible= true;
Outlook.Inspector inspector =
Globals.ThisAddIn.Application.ActiveInspector();
if (inspector != null && inspector.CurrentItem != null)
{
当我在Outlook中打开一个AppointmentItem时,我可以调试上面的代码。不幸的是,尽管正在显示有效的AppointmentItem,但ActiveInspector()== null。
为什么?
答案 0 :(得分:0)
在显示检查器之前调用该方法。您必须使用作为参数传递给RibbonUI
回调的onLoad
并将RibbonUI.Context
强制转换为Inspector
接口。