我正在尝试预约一个名为“时间表”的日历。我只能预约我的默认日历。
Sub CalendarDemo()
Dim Ns As Outlook.NameSpace
Set Ns = Application.GetNamespace("MAPI")
Set items = Ns.GetDefaultFolder(olFolderCalendar).Folders("5KW 5030 FIBER SCHEDULE").items
End Sub
答案 0 :(得分:0)
您的代码不会创建新约会,您只能检索Items集合。假设“ Schedule”文件夹是Calendar文件夹的子顺序,则代码必须为
Set Ns = Application.GetNamespace("MAPI")
Set item = Ns.GetDefaultFolder(olFolderCalendar).Folders("Schedule").items.Add
item.Subject = "test"
item.Start = Now
item.Save
答案 1 :(得分:0)
多亏了Dimitry,我才能够找到我的问题的答案。首先,由于日历位于Exchange公用文件夹存储中,因此我将olFolderCalendar
更改为olPublicFoldersAllPublicFolders
。然后,我使用了.Folder
方法来到达日历的位置。在我的情况下,日历保存在公用文件夹存储中的另一个文件夹下。
Sub CalendarDemo()
Set Ns = Application.GetNamespace("MAPI")
Set fl = Ns.GetDefaultFolder(olPublicFoldersAllPublicFolders).Folders("Subfolder").Folders("calendarName")
Set objCalAppt = fl.items.Add(olAppointmentItem)
objCalAppt.Subject = "test"
objCalAppt.Start = Now
objCalAppt.Save
End Sub