在公用文件夹日历中预约

时间:2019-08-12 02:51:02

标签: vba outlook outlook-vba

我正在尝试预约一个名为“时间表”的日历。我只能预约我的默认日历。

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

2 个答案:

答案 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