Можно ли получить доступ к текущему MailItem на Ribbon_Load? - PullRequest
1 голос
/ 19 апреля 2011

У меня есть лента Outlook следующего типа: Microsoft.Outlook.Mail.Compose, Microsoft.Outlook.Mail.Read

Мне нужно включить или отключить кнопку из этоголента, основанная на содержимом (теле) почтового элемента, и я думал сделать это для события Load ленты.

У меня есть следующий код, но ActiveInspector всегда равен нулю.

    private void RiverRaftRibbon_Load(object sender, RibbonUIEventArgs e)
    {
        var application = Globals.ThisAddIn.Application;
        var inspector = application.ActiveInspector();
        MailItem myMailItem = (MailItem)inspector.CurrentItem;

        string projectName;
        DateTime? dueDate;

        if (Common.ParserHelper.IsRiverRaftEmail(mail.HTMLBody, out projectName, out dueDate))
        {
            btnAccept.Enabled = true;
        }
        else
            btnAccept.Enabled = false;

    }

Спасибо!

1 Ответ

4 голосов
/ 31 июля 2012

Попробуйте это:

var application = Globals.ThisAddIn.Application;
Outlook.Selection selection = application.ActiveExplorer().Selection;
                    mailItem = selection[1] as Outlook.MailItem;
...