如何使用 python 在多个日历中创建 Outlook 事件

How do I use python to create outlook events in multiple calendars

这是我一直在使用的代码。它在我想创建约会时有效,但仅在我的主日历中有效。你们知道如何在辅助日历中创建约会吗?

import win32com.client
from win32com.client import Dispatch
outlook = win32com.client.Dispatch("Outlook.Application")


def sendMeeting():
  appt = outlook.CreateItem(1) # AppointmentItem
  appt.Start = "2021-5-28 16:10" # yyyy-MM-dd hh:mm
  appt.Subject = "Fake meeting"
  appt.Duration = 30 # In minutes (60 Minutes)
  appt.Location = "The bat cave"

  appt.Save()
  appt.Send()

您是指配置文件中的辅助 Exchange 帐户吗?还是委托 Exchange 邮箱? 在前一种情况下,从 Namespace.Stores 集合中打开商店,使用 Store.GetDefaulFolder(olFolderCalendar) 打开日历文件夹,使用 MAPIFolder.Items.Add 创建新项目。在后一种情况下,您可以使用 Namespace.GetSharedDefaultFolder(Recipient, olFolderCalendar)(可以从 Namespace.CreateRecipient 检索收件人)。

如果它是您主存储中的子文件夹,您可以从其父文件夹访问它并调用 MAPIFolder.Items.Add。例如。如果它是默认日历文件夹的子文件夹,请使用 outlook.Session.GetDefaultFolder(olFolderCalendar).Folders.Item("The name")。如果它与您的日历文件夹处于同一级别,请使用 outlook.Session.GetDefaultFolder(olFolderCalendar).Parent.Folders.Item("The name")