我正在尝试编写一个将在O365组日历中创建约会的宏。
如果当前文件夹是组日历,则可以创建约会。但是,我希望宏始终为组日历创建约会,而不管当前文件夹如何。
我查看了有关在默认日历下访问共享日历和其他子文件夹的其他文章,但是找不到任何适用于组日历的内容。
我已经尝试过这些事情:
' option1
Set calFolder = GetFolderPath("abc@email.com\Calendars\groupname")
Set NameSpace = Application.GetNamespace("MAPI")
' option 2
Set calFolder = NameSpace.GetDefaultFolder(9).Folders("groupname")
NameSpace.GetSharedDefaultFolder("groupemail", olFolderCalendar)
Set Items = calFolder.Items
' option 3
Set Items = Application.Session.GetDefaultFolder(olFolderCalendar).Parent.Folders("groupname").Items
这是Office 365组。让我们称之为abc。群组电子邮件为abc@somedoamin.com
在文件夹结构中,它看起来像这样:
我的邮箱
-组
-abc
赞赏任何指针。预先感谢!
编辑: 我在调试器中找到的组的结构如下:
命名空间
|
地址列表
|
|
项目7:名称:所有组
|
地址条目
|
条款18:名称:abc
是否可以使用此信息来获取文件夹?
答案 0 :(得分:0)
您需要使用GetSharedDefaultFolder
,但是它的第一个参数是Recipient
对象,而不是字符串。调用Namespace.CreateRecipient
(传递一个字符串),然后将该Recipient
对象传递给GetSharedDefaultFolder
。