Gibt es eine Möglichkeit, die GlobalAppointmentId eines Termins zu ändern.Outlook AddIn - ändern Sie die GlobalAppointmentId
fand ich diese Eigenschaft Schema:
var globalIdPropertySchema = @"http://schemas.microsoft.com/mapi/id/{6ED8DA90-450B-101B-98DA-00AA003F1305}/00030102";
und ich einen neuen Wert zu:
Item.PropertyAccessor.SetProperty(globalIdPropertySchema, MY_NEW_ID);
dann, wenn ich es Item.PropertyAccessor.GetProperty
bekommen mit Ich bin die neue id bekommen, aber die Item.GlobalAppointmentId
ist immer noch das Original.
Ich brauche dies, damit mein AddIn Termine mit ICS-Dateien synchronisieren kann. Unser System sendet ICS-Dateien mit einem Suffix im Feld iCalendar UID. Es ist jedoch möglich, Termine für unser System über das Outlook-Add-In zu erstellen. Die ICS-Datei, die gesendet wird, verwendet die GlobalAppointmentID als UID-Feld in der ICS-Datei. Wir speichern es, aber es muss unser Suffix haben. Irgendwelche Tipps?
Ich sehe die Änderung nicht nach einem Outlook-Neustart, es sieht aus wie die 'Item.GlobalAppointmentId' ist irgendwo zwischengespeichert, gibt es eine programmatische wway, um das Objekt freizugeben? –
Sind Sie sicher, dass die ID auf einen korrekt konstruierten Wert gesetzt ist? Können Sie die Änderung in OutlookSpy sehen (klicken Sie auf IMessage), nachdem Sie AppointmentItem.Save aufgerufen haben? –
Ich habe vergessen 'Appointment.Save' nach' SetProperty' zu nennen, danke dass du mich in die richtige Richtung weist! –