Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问VBA中的O365组日历文件夹_Vba_Outlook - Fatal编程技术网

访问VBA中的O365组日历文件夹

访问VBA中的O365组日历文件夹,vba,outlook,Vba,Outlook,我正在尝试编写一个宏,该宏将在O365组日历中创建约会。 如果当前文件夹是组日历,我可以创建约会。但是,我希望宏始终为组日历创建约会,而不考虑当前文件夹。 我看过其他关于在默认日历下访问共享日历和其他子文件夹的文章,但我找不到任何适用于组日历的内容 我试过这些东西: ' option1 Set calFolder = GetFolderPath("abc@email.com\Calendars\groupname") Set NameSpace = Application.Get

我正在尝试编写一个宏,该宏将在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

有没有办法使用此信息获取文件夹


您需要使用
GetSharedDefaultFolder
,但它的第一个参数是
收件人
对象,而不是字符串。调用
Namespace.CreateRecipient
(传递字符串),然后将该
Recipient
对象传递到
GetSharedDefaultFolder

感谢您的快速响应。我试过你的方法。但现在它给了我一个运行时错误:“服务器邮箱无法打开,因为此通讯簿条目不是邮件用户”如果单击“文件|打开|其他用户的文件夹”?在Outlook中是否使用相同的名称?给你。Exchange告诉您没有属于指定名称的邮箱。这是通讯组列表的名称吗?但它确实有一个邮箱。它有共享邮箱,也有自己的日历。Office 365组与通讯组列表不同。我能够发送和接收电子邮件,并在此日历上创建活动。我已经用文件夹结构更新了问题组,即使它们在Outlook UI中公开,也没有(至少还没有)通过OOM或MAPI公开-在MAPI级别上,有一个存储,但它不在会话存储表中。编辑问题以应用此建议,说明日历在文件夹树中的显示位置。也许是一个类似的图表。嗨,这里是office 365组。我们叫它abc吧。群电子邮件是abc@somedoamin.com在文件夹结构中,它是这样显示的:我的邮箱--Groups--abc也用这些信息编辑了这个问题。谢谢