【问题标题】:VSTO-Custom Task Pane how to get current MailItemVSTO-自定义任务窗格如何获取当前 MailItem
【发布时间】:2019-04-04 09:10:04
【问题描述】:

我想找到一些方法让自定义任务窗格获取当前检查器。我应该使用什么方法?

我通过以下链接构建了一个 VSTO Outlook C# 插件: Walkthrough: Display custom task panes with email messages in Outlook

我在任务窗格中插入了一个按钮。 现在我想使用此按钮通过操作 Button_Click 插入一个邮件标题,如“测试按钮”

我尝试使用Outlook.Inspector inspector = Globals.ThisAddIn.Application.ActiveInspector();

或者Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;

获取当前检查员但似乎不起作用。

下面是我的代码:

private void InsertButton_Click(object sender, EventArgs e)
        {
            Outlook.Inspector inspector = Globals.ThisAddIn.Application.ActiveInspector();
            if (inspector is Outlook.MailItem)
            {
                public Outlook.MailItem mailItem;
                mailItem = inspector as Outlook.MailItem;
                mailItem.subject = "test for button";                
            }                               
        }

我也试过这种方式:

private void InsertButton_Click(object sender, EventArgs e)
        {
            Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;
            mailItem.subject = "test for button";
        }

第一个代码if判断为假。以及第二个代码mailItem=null;

但我期望的输出是 mailItem 等于任务窗格所在的当前项目。

【问题讨论】:

    标签: c# vsto outlook-addin


    【解决方案1】:

    第一个代码示例是错误的 - “if (inspector is Outlook.MailItem)”总是错误的,因为inspector 是一个 Inspector 对象,而不是 MailItem 对象。

    对于第二个示例,请显示您的所有代码 - 您似乎有一个类级别的 Inspector 属性,但不清楚它是如何设置的。 Globals.ThisAddIn.Application.ActiveInspector().CurrentItem 应该可以返回一个 MailItem 对象,如果它是一封电子邮件而不是其他类型的项目(您当然应该始终进行类型检查)。

    【讨论】:

      【解决方案2】:

      John Hart@GitHub 回答了我的问题。 下面是他的代码:

      private void Button1_Click(object sender, EventArgs e)
          {
              Inspector inspector = Globals.ThisAddIn.Application.ActiveInspector();
              MailItem mailItem = inspector.CurrentItem as MailItem;
              mailItem.Subject = "test for button";
          }
      

      原始答案请参阅 GitHub 上的问题: VSTO Outlook-Task Pane get Current MailItem

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-01
        • 1970-01-01
        相关资源
        最近更新 更多