在公用文件夹日历中进行约会

问题描述 投票:0回答:2

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

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
vba outlook outlook-vba
2个回答
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

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
© www.soinside.com 2019 - 2024. All rights reserved.