2012-09-03 62 views
1

如何知道是否點擊了「發送」或單擊了「發送更新」或「發送取消」。我有Application_ItemSend事件觸發發送,發送更新和發送取消。一種方法是添加一個自定義屬性並在約會最初創建時設置一些值。但我似乎沒有找到區分按鈕點擊的方法。是添加自定義屬性的唯一方法,或者是否有任何可以使用的內置屬性。預約項目如下分配。預約發送和發送更新

var appointment = Globals.MedearcOutlook2010AddIn.Application.ActiveInspector().CurrentItem as Outlook.AppointmentItem; 

感謝

回答

0

您可以檢查MAPI屬性PR_MESSAGE_DELIVERY_TIME,看看是否已任命尚未(isUpdate=false)發送,或者是更新現有約會(isUpdate=true)。我沒有看到這樣做的native property member

string PR_MESSAGE_DELIVERY_TIME = "http://schemas.microsoft.com/mapi/proptag/0x0E060040"; 
bool isUpdate = false; 
try 
{ 
    DateTime message_delivery = appointment.PropertyAccessor.GetProperty(PR_MESSAGE_DELIVERY_TIME); 
    isUpdate = true; // if it makes it here then the message has been delivered 
} 
catch { } 
+0

不幸的是,這種解決方案似乎不能解決San所述的問題。在某些測試中,這個值似乎並不代表項目被「發送」的時間,而是以outlook如何解釋發送約會的方式,而不是客戶端向服務器發送包含約會信息的消息的時間。所以保存約會就足夠了,而不是「發送」它(可能給其他參與者)。 – xSNRG