【发布时间】:2020-07-12 18:44:05
【问题描述】:
当激活回复/全部回复/转发窗口时,我正在尝试从 Outlook 2007 VSTO 加载项捕获事件。所以我这样做:
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
this.Application.ItemLoad += new Microsoft.Office.Interop.Outlook.ApplicationEvents_11_ItemLoadEventHandler(onItemLoad);
}
Outlook.ItemEvents_10_Event gObj_itemEvt = null;
private void onItemLoad(object Item)
{
gObj_itemEvt = (Outlook.ItemEvents_10_Event)Item;
gObj_itemEvt.Reply += new Microsoft.Office.Interop.Outlook.ItemEvents_10_ReplyEventHandler(on_Reply);
gObj_itemEvt.ReplyAll += new Microsoft.Office.Interop.Outlook.ItemEvents_10_ReplyAllEventHandler(on_ReplyAll);
gObj_itemEvt.Forward += new Microsoft.Office.Interop.Outlook.ItemEvents_10_ForwardEventHandler(on_Forward);
}
private void on_Reply(object Item, ref bool cancel)
{
//Called when user loads Reply window
LogMessage("Reply opened");
}
private void on_ReplyAll(object Item, ref bool cancel)
{
//Called when user loads Reply-All window
LogMessage("Reply-All opened");
}
private void on_Forward(object Item, ref bool cancel)
{
//Called when user loads Forward window
LogMessage("Forward opened");
}
这工作了几次,但随后停止。在这种情况下,我仍然会收到 onItemLoad 事件,但 on_Reply、on_ReplyAll 和 on_Forward 不再广播。
我在这里做错了什么?
【问题讨论】:
标签: c# vsto outlook-addin office-addins