我将在会议请求(MeetingItem / AppointmentItem)中检查Outlook(对于Outlook Addin),添加时的收件人。 我正在寻找MeetingItem / AppointmentItem中的事件/可能性... 到目前为止,我还没有发现任何事件,这些事件会增加给收件人负责。 有人可以给我一个关于我应该如何进行的提示吗?
谢谢 马丁
答案 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:在这里,我想现在通过该项目的收件人,如果它已经改变。不幸的是,我不知道如何回到我的约会项目....