Cómo combinar rápidamente elementos de varias carpetas sin duplicados en Outlook

Comparte ahora:

Si desea fusionar todos los elementos de varias carpetas de Outlook y asegurarse de que no haya duplicados, puede utilizar el método presentado en este artículo. Está usando código VBA para ayudarlo a lograrlo como un corcho.

Combine rápidamente elementos de varias carpetas sin duplicados en Outlook

A veces, es posible que desee combinar elementos de varias carpetas de Outlook, como combinar todos los contactos de varias carpetas de Contactos de Outlook. En esta situación, si hay algunos contactos duplicados entre estas carpetas, debe esperar que los duplicados se puedan eliminar automáticamente durante la fusión. Bajo esta circunstancia, puede hacer uso del siguiente código VBA para realizarlo con facilidad y sin esfuerzo.

Combinar elementos de varias carpetas sin duplicados

  1. A start con, inicie su aplicación Outlook.
  2. Luego, debe acceder al editor de Outlook VBA presionando el botón "Alt + F11" en la pantalla principal de Outlook.
  3. A continuación, en la ventana "Microsoft Visual Basic para aplicaciones", debe abrir un módulo que no se esté utilizando.
  4. Después de eso, debe copiar el siguiente código VBA en este módulo.
'Here we take "merging two folders" as an example
Sub MergeOutlookFolders_WithoutDuplicates()
    Dim objSourceFolder As Outlook.Folder
    Dim objTargetFolder As Outlook.Folder
    Dim i, n, x As Long
    Dim objItem As Object
    Dim objDictionary As Object
    Dim strKey As String
 
    Set objSourceFolder = Application.Session.PickFolder
    Set objTargetFolder = Application.Session.PickFolder

    If objSourceFolder.DefaultItemType <> objTargetFolder.DefaultItemType Then
       MsgBox "Error: The two folders are not in same type!", vbExclamation + vbOKOnly
    Else
       'Merge the two folders
       For i = objSourceFolder.Items.count To 1 Step -1
           Set objItem = objSourceFolder.Items.Item(i)
           objItem.Move objTargetFolder
       Next i
 
       Set objDictionary = CreateObject("scripting.dictionary")
 
       'Remove the duplicates
       x = 0
       For n = objTargetFolder.Items.count To 1 Step -1
           Set objItem = objTargetFolder.Items.Item(n)
 
           Select Case objItem.Class
                  Case olMail
                       strKey = objItem.Subject & "," & objItem.Body & "," & objItem.SentOn
                  Case olAppointment
                       strKey = objItem.Subject & "," & objItem.Start & "," & objItem.Duration & "," & objItem.Location & "," & objItem.Body
                  Case olContact
                       strKey = objItem.FullName & "," & objItem.Email1Address & "," & objItem.Email2Address & "," & objItem.Email3Address
                  Case olTask
                       strKey = objItem.Subject & "," & objItem.StartDate & "," & objItem.DueDate & "," & objItem.Body
           End Select
 
           strKey = Replace(strKey, ", ", Chr(32))
 
           If objDictionary.Exists(strKey) = True Then
              objItem.Delete
              x = x + 1
           Else
              objDictionary.Add strKey, True
           End If
      Next n
 
      'Prompt you of the count of removed duplicates
      If x <> 0 Then
         MsgBox x & " duplicates removed when merging!", vbInformation + vbOKOnly
      End If
    End If
End Sub

Código VBA: combine elementos de varias carpetas sin duplicados

  1. Más tarde, debe verificar la configuración de la macro de Outlook, asegurándose de que la macro esté habilitada.
  2. Finalmente puedes intentarlo.
  • En primer lugar, volvamos a la ventana del nuevo módulo.
  • A continuación, presione el botón de la tecla F5 para activar esta macro.
  • Luego, debe seleccionar las dos carpetas que se fusionarán. El primero es el de origen y el segundo es el tarconseguir uno.
  • Después de eso, Outlook comenzará a mover todos los elementos de la carpeta de origen a la tarconseguir uno. Además, mientras tanto, los duplicados se eliminarán automáticamente.
  • En última instancia, es posible que reciba un mensaje que le pregunte el recuento de duplicados eliminados, como la siguiente captura de pantalla:Mensaje que solicita el recuento de duplicados eliminados

Pequeños errores pueden provocar grandes bloqueos

A pesar de estar cargado con una gran cantidad de funciones excelentes, Outlook sigue siendo susceptible a errores y corrupción. Quizás haya encontrado varios problemas de Outlook. Muchos usuarios tienden a ignorar los errores aleatorios. Sin embargo, es el pequeño error el que provoca bloqueos graves de Outlook, lo que pondrá en peligro el archivo de Outlook. Por lo tanto, no debe ignorar los pequeños errores. En cambio, debes eliminarlos lo antes posible. Además, será mejor que mantenga un apto Reparación de PST herramienta, como DataNumen Outlook Repair. A través de su alta tasa de recuperación, esta utilidad ha superado a sus pares.

Introducción del autor:

Shirley Zhang es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo sql dañado y productos de software de reparación de Outlook. Para más información visite www.datanumen.com

Comparte ahora:

Los comentarios están cerrados.