Cómo cambiar automáticamente el nombre o eliminar los correos electrónicos más antiguos con los mismos temas que los nuevos entrantes

Comparte ahora:

Algunas personas esperan que Outlook pueda verificar automáticamente los asuntos de los correos electrónicos más antiguos cuando lleguen nuevos, y cambiar el nombre o eliminar los correos electrónicos más antiguos si tienen los mismos asuntos que los nuevos. Esto exige el uso de Outlook VBA. Este artículo te ayudará a lograrlo.

Alguna vez debe haber recibido muchos correos electrónicos con los mismos temas. ¿Le resulta un poco problemático identificarlos y distinguirlos en la lista de correo electrónico? ¿O cree que esos correos electrónicos más antiguos son exactamente inútiles para usted? Si es así, debe permitir que Outlook escanee y revise automáticamente todos los correos electrónicos existentes cuando lleguen nuevos correos electrónicos. Cuando hay correos electrónicos que tienen los mismos asuntos que el nuevo, Outlook puede preguntarle si desea cambiarles el nombre o eliminarlos. Sin lugar a dudas, Outlook no ofrece a los usuarios este tipo de funciones. Por lo tanto, debes recurrir a VBA. Aquí le expondremos los códigos y operaciones detallados.

Cambiar el nombre automáticamente o eliminar los correos electrónicos más antiguos

  1. Para empezar, puedes abrir Outlook y dirigirte a la pestaña "Desarrollador".
  2. Luego podrá buscar y hacer clic en el botón "Visual Basic".
  3. Después de presionarlo, accederá a la ventana del editor de VBA. En él, deberá abrir el proyecto "ThisOutlookSession".
  4. A continuación, debe copiar y pegar los siguientes códigos VBA en él.
Public WithEvents olItems As Outlook.Items

Sub Application_Startup()
    'Specify the Emails in Inbox folder
    Set olItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub olItems_ItemAdd(ByVal Item As Object)
    Dim i As Long
    Dim objVariant As Variant
    Dim strMsg As String
    Dim nRes As Integer

    For i = 1 To olItems.Count
        Set objVariant = olItems.Item(i)
        If TypeOf objVariant Is MailItem Then
           If objVariant.Subject = Item.Subject And objVariant.ReceivedTime < Item.ReceivedTime Then
              nDateDiff = DateDiff("d", objVariant.ReceivedTime, Now)
              'Add "(Old)" suffix to the email subjects
              objVariant.Subject = objVariant.Subject & "(Old)"
              objVariant.Save
              'If the old emails have been recieved for 60 days, ask you whether to delete
              If nDateDiff > 60 Then
                 strMsg = "There are some older emails whcih have the same subjects with the new email and have been recieved for 2 months. Do you want to delete them?"
                 nRes = MsgBox(strMsg, vbExclamation + vbYesNo, "Find Older Emails")
                 If nRes = vbYes Then
                    objVariant.Delete
                 End If
              End If
           End If
        End If
    Next
End Sub

Códigos VBA: cambie automáticamente el nombre o elimine los correos electrónicos más antiguos con los mismos temas que los nuevos entrantes

  1. Posteriormente, se le solicitará que firme digitalmente este código. Presione "Herramientas"> "Firma digital". Luego, en el cuadro de diálogo emergente, puede seleccionar un certificado existente. Si no tiene un certificado listo para usar, puede usar “Certificados digitales para proyectos VBA” para crear uno nuevo.Firmar el proyecto ThisOutlookSession
  2. Después de eso, puede salir de la ventana actual y proceder a cambiar la configuración de macros, permitiendo solo macros firmadas digitalmente.
  3. Finalmente, puedes reiniciar Outlook para activar la nueva macro. A partir de ahora, cuando lleguen nuevos correos electrónicos a la bandeja de entrada, Outlook revisará automáticamente todos los correos existentes.
  • Si los correos electrónicos antiguos tienen el mismo asunto que el nuevo, Outlook agregará automáticamente el sufijo "(Antiguo)" al asunto del correo electrónico.
  • Y si los correos electrónicos más antiguos se han almacenado en la Bandeja de entrada durante más de 2 meses, recibirá un mensaje preguntándole si desea eliminarlos, como en la imagen de abajo. Puede seleccionar "Sí" o "No" según sus propias necesidades.Preguntar si desea eliminar los correos electrónicos más antiguos

 Corrupción de archivos de Outlook debido al gran tamaño

Algunas personas no tienen el hábito de eliminar regularmente los elementos antiguos en Outlook. Por lo tanto, su archivo de Outlook será de gran tamaño, lo cual es desaconsejable. Esto se debe a que un archivo de Outlook de gran tamaño es mucho más vulnerable que un archivo de tamaño pequeño. Una vez que el archivo se corrompe, la herramienta de reparación integrada, Scanpst.exe, será inútil en la mayoría de los casos. Su única solución puede ser una notable y bien probada herramienta de reparación de Outlook PST corruptadel ADN, tales como los DataNumen Outlook Repair.

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 reparar corrupto SQL Server base de datos mdf 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.