Estoy tratando de copiar los contactos compartidos de Outlook en una carpeta en Mis contactos. Estoy buscando una solución fácil para mi equipo además de usar un Asistente de importación o copiar/pegar físicamente debido a la computadora desafiada. He tenido éxito al hacer esto desde MyContacts/Contacts to MyContacts/Another_Folder pero parece que no puedo copiar desde una carpeta de contactos compartidos.
Estoy ejecutando una macro desde Excel para que todos los usuarios puedan simplemente ejecutar la macro de Excel y modificará su Outlook en lugar de permitir que todos permitan macros en Outlook.
El código de ejecución actual está aquí:
Sub CopyContacts() Dim ContactItem As Outlook.ContactItem Dim Name As Outlook.Namespace Dim Folder As Outlook.Folder Dim Item As Object Set Name = Outlook.GetNamespace("MAPI") Set Folder = Name.GetDefaultFolder(olFolderContacts) For Each Item In Folder.Items If Item.Class = olContact Then Set ContactItem = Item.Copy ContactItem.Move Folder.Folders("Another_Folder") End If Next End SubMe gustaría ejecutar una macro de Excel para copiar todo el contenido de la carpeta de Contactos compartidos de John Doe a Otra_carpeta.

Sería genial si la Macro eliminara todo el contenido de Otra_Carpeta antes de la función de copia.
Puede usar el método NameSpace.GetSharedDefaultFolder que devuelve un objeto Carpeta que representa la carpeta predeterminada especificada para el usuario especificado. Este método se usa en un escenario de delegación, donde un usuario tiene acceso delegado a otro usuario para una o más de sus carpetas predeterminadas (por ejemplo, su carpeta Calendario compartida).
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("John Doe") myRecipient.Resolve If myRecipient.Resolved Then Call ShowContacts(myNamespace, myRecipient) End If End Sub Sub ShowContacts(myNamespace, myRecipient) Dim ContactsFolder As Outlook.Folder Set ContactsFolder = myNamespace.GetSharedDefaultFolder(myRecipient, olFolderContacts) ContactsFolder.Display End Sub