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

时间:2015-03-06 11:49:33

标签: excel vba excel-vba outlook

我正在寻找excel中的vba代码,他应该从共享邮箱(在Outlook中称为共享邮箱的不同交换帐户)中的联系人转移到excel列表,与outlook的正常联系人工作我使用此:

Set nsOutlook = applOutlook.GetNamespace("MAPI") 

Set cfOutlook = nsOutlook.GetDefaultFolder(olFolderContacts)

Set olcontacts = cfOutlook.Folders("name")

我使用了"名称"在outlook中显示的位置 它不起作用他找不到文件夹。

有没有收件人的解决方案? 因为将有几个用户全部具有相同的共享邮箱

我希望你能帮助我。

1 个答案:

答案 0 :(得分:0)

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

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