【问题标题】:Getting info from selected mail item in Outlook 2010从 Outlook 2010 中的选定邮件项获取信息
【发布时间】:2012-09-14 23:11:58
【问题描述】:

我想为 Outlook 2010 编写一个加载项。想法是 - 用户在文件夹中选择一个邮件项目,然后按下功能区上的按钮以启动加载项。加载项从所选项目中获取信息,对其进行处理并显示结果。 尝试获取所选项目的检查器时遇到问题。我试过了:

Outlook.Inspector Point = this.Application.ActiveInspector().CurrentItem as Outlook.Inspector;
Outlook.MailItem mailItem = Point.CurrentItem as Outlook.MailItem;

当然,这不会检查当前项目是否真的是邮件项目,但这是为了以后。我的问题是,当我尝试运行程序时,我得到 NullReferenceException。 我在网上找到的唯一可行的例子是event handling。但我想在按下按钮时开始加载..

我试图在 .NET 3.5 而不是 4 中实现这一点

【问题讨论】:

    标签: c# outlook ms-office


    【解决方案1】:

    ActiveInspector() 是当用户双击Explorer 窗口中的邮件项时打开的窗口。如果用户只是在阅读窗格中查看MailItems - 您将没有活动的检查器窗口(因此NullReferenceException)。

    您可能正在寻找Explorer.Selection 以访问当前选定的MailItems

     Outlook.Selection selection = this.Application.ActiveExplorer().Selection;
    

    【讨论】:

    • 它仍然让我得到 NullReferenceException。也许这是因为我在资源管理器窗口中选择了一个项目,然后在功能区中导航以按下我的自定义按钮?
    • selectionNullReferenceException?请澄清。
    • 是的。也许我搞砸了调用方法?我有功能区类和插件类。为了获得插件类方法,我在功能区类中创建一个对象并调用该方法。 pastebin.com/ABy46Qjj
    【解决方案2】:

    Globals.ThisAddIn.Application 获取 Application 对象。这可能是您的空引用,功能区类中的“this”上没有 Application 对象。

    【讨论】:

      【解决方案3】:

      这是帮助我解决 Outlook 互操作问题的链接:http://msdn.microsoft.com/en-us/library/ff184621.aspx - 它还显示了如何枚举当前选定的项目。

      【讨论】:

        猜你喜欢
        • 2012-06-06
        • 2018-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-26
        • 2016-10-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多