我正在寻找excel中的vba代码,他应该从共享邮箱(在Outlook中称为共享邮箱的不同交换帐户)中的联系人转移到excel列表,与outlook的正常联系人工作我使用此:
Set nsOutlook = applOutlook.GetNamespace("MAPI")
Set cfOutlook = nsOutlook.GetDefaultFolder(olFolderContacts)
Set olcontacts = cfOutlook.Folders("name")
我使用了"名称"在outlook中显示的位置 它不起作用他找不到文件夹。
有没有收件人的解决方案? 因为将有几个用户全部具有相同的共享邮箱
我希望你能帮助我。
答案 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