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
- Para empezar, puedes abrir Outlook y dirigirte a la pestaña "Desarrollador".
- Luego podrá buscar y hacer clic en el botón "Visual Basic".
- Después de presionarlo, accederá a la ventana del editor de VBA. En él, deberá abrir el proyecto "ThisOutlookSession".
- 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
- 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.
- Después de eso, puede salir de la ventana actual y proceder a cambiar la configuración de macros, permitiendo solo macros firmadas digitalmente.
- 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.
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


