2016-04-21 97 views
0

有沒有辦法更改約會的GlobalAppointmentId。Outlook AddIn - 更改GlobalAppointmentId

我發現這個屬性架構:

var globalIdPropertySchema = @"http://schemas.microsoft.com/mapi/id/{6ED8DA90-450B-101B-98DA-00AA003F1305}/00030102"; 

,我設置一個新的值給它:

Item.PropertyAccessor.SetProperty(globalIdPropertySchema, MY_NEW_ID); 

然後當我得到它使用Item.PropertyAccessor.GetProperty我得到了新的ID,但Item.GlobalAppointmentId仍然是原來的。

我需要這個以便我的插件可以使用ICS文件同步約會,我們的系統會在iCalendar UID字段中發送帶有後綴的ICS文件。 但是可以通過Outlook AddIn爲我們的系統創建約會,然後發送的ICS文件使用GlobalAppointmentID作爲ICS文件中的UID字段。我們存儲它,但它需要有我們的後綴。有小費嗎?

回答

1

您需要完全發佈預約才能確保Outlook在下次重新加載該預約。

重新啓動Outlook後,您是否看到更改?

+0

在Outlook重新啓動後,我看不到更改,它看起來像'Item.GlobalAppointmentId'在某處緩存,是否有程序化的方式釋放該對象? –

+0

你確定id被設置爲正確構造的值嗎?在調用AppointmentItem.Save之後,您能否看到OutlookSpy中的更改(單擊IMessage)? –

+1

我忘了在'SetProperty'後面調用'Appointment.Save',謝謝你指點我正確的方向! –