如何覆盖 Outlook 日历事件

How to overwrite Outlook calendar events

所以我有这个功能可以根据字典在我的 outlook 日历上创建事件(稍后将是数据库中的数据):

def addevent(events):
import win32com.client
for item in table.keys():
    start = '2012-' + item + ' 18:35'
    subject = 'Event Name' + str(table[item])
    oOutlook = win32com.client.Dispatch("Outlook.Application")
    appointment = oOutlook.CreateItem(1) # 1=outlook appointment item
    appointment.Start = start
    appointment.Subject = subject
    appointment.Duration = 20
    appointment.Location = 'Virtual'
    appointment.ReminderSet = True
    appointment.ReminderMinutesBeforeStart = 1
    appointment.Save()
return

但是,问题是当我重新运行它时,它会同时添加相同的事件,但我希望它同时覆盖事件/跳过相同的事件。如果说得通。

保存约会后,检索其 EntryID 属性 并存储它。下次,如果条目 ID 可用,请使用 Namespace.GetItemFromID 重新打开约会。否则像现在一样创建一个新的。