Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
outlook使用VBA在excel列表中共享邮箱联系人_Vba_Excel_Outlook - Fatal编程技术网

outlook使用VBA在excel列表中共享邮箱联系人

outlook使用VBA在excel列表中共享邮箱联系人,vba,excel,outlook,Vba,Excel,Outlook,我正在寻找excel中的vba代码,他应该将outlook中名为shared mailbox的共享邮箱不同exchange帐户中的联系人转移到excel列表中,使用outlook it works中的普通联系人我使用了以下方法: Set nsOutlook = applOutlook.GetNamespace("MAPI") 设置cfOutlook=nsOutlook.GetDefaultFolderolFolderContacts 使用Set olcontacts=cfOutlook.Fo

我正在寻找excel中的vba代码,他应该将outlook中名为shared mailbox的共享邮箱不同exchange帐户中的联系人转移到excel列表中,使用outlook it works中的普通联系人我使用了以下方法:

Set nsOutlook = applOutlook.GetNamespace("MAPI") 
设置cfOutlook=nsOutlook.GetDefaultFolderolFolderContacts

使用Set olcontacts=cfOutlook.Foldersname

我使用了outlook中显示的名称 他找不到文件夹,这不起作用

有没有没有没有没有收件人的解决方案? 因为将有多个用户使用相同的共享邮箱


希望您能帮助我。

Outlook对象模型提供名称空间类的方法,该类返回一个文件夹对象,该对象表示指定用户的指定默认文件夹。例如:

Sub ResolveName()  
  Dim myNamespace As Outlook.NameSpace  
  Dim myRecipient As Outlook.Recipient  
  Dim CalendarFolder As Outlook.Folder  

  Set myNamespace = Application.GetNamespace("MAPI")  
  Set myRecipient = myNamespace.CreateRecipient("Dan Wilson")  
  myRecipient.Resolve  

  If myRecipient.Resolved Then  
    Call ShowCalendar(myNamespace, myRecipient)  
  End If  
End Sub 

Sub ShowCalendar(myNamespace, myRecipient)  
  Dim CalendarFolder As Outlook.Folder 
  Set CalendarFolder = myNamespace.GetSharedDefaultFolder(myRecipient, olFolderCalendar)  
  CalendarFolder.Display  
End Sub

您好,谢谢您的回答,如果我使用GetSharedDefaultFolder方法,它会工作,但只有普通联系人会移动到excel,而不是共享邮箱联系人,共享邮箱会通过exchange缓存模式访问。