搜索Outlook 2010会议请求事件c#

时间:2011-03-14 08:45:12

标签: c# events ms-office outlook-addin outlook-2010

我将在会议请求(MeetingItem / AppointmentItem)中检查Outlook(对于Outlook Addin),添加时的收件人。 我正在寻找MeetingItem / AppointmentItem中的事件/可能性... 到目前为止,我还没有发现任何事件,这些事件会增加给收件人负责。 有人可以给我一个关于我应该如何进行的提示吗?

谢谢 马丁

2 个答案:

答案 0 :(得分:1)

找到了一条关于ItemSend事件的方法:

        readonly Outlook.Application _outlookApp = new Outlook.Application();

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        _outlookApp.ItemSend += new ApplicationEvents_11_ItemSendEventHandler(OutlookAppItemSend);
    }

    void OutlookAppItemSend(object item, ref bool cancel)
    {
        if (item is Outlook.AppointmentItem)
        {
            var appt = item as Outlook.AppointmentItem;
            foreach (Outlook.Recipient recipient in appt.Recipients)
            {
                MessageBox.Show(string.Format("Rctp {0} ", recipient.Name));
            }

        }....

答案 1 :(得分:0)

我已经知道如何知道收件人是否已被更改,该事件会因为约会项目中的任何更改而触发,但我可以使用名称进行过滤。

readonly Outlook.Application _outlookApp = new Outlook.Application();

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    _outlookApp.ItemLoad += new Outlook.ApplicationEvents_11_ItemLoadEventHandler(test_ItemLoad);
}

void test_ItemLoad(object item)
{
    if (item is Outlook.AppointmentItem)
    {
        var appt = item as Outlook.AppointmentItem;
        appt.PropertyChange += new ItemEvents_10_PropertyChangeEventHandler(appt_PropertyChange);
    }
}

void appt_PropertyChange(string name)
{
    MessageBox.Show(string.Format("Name: {0}", name));
    xxx
}

xxx:在这里,我想现在通过该项目的收件人,如果它已经改变。不幸的是,我不知道如何回到我的约会项目....