Algunos usuarios esperan guardar automáticamente registros de correos electrónicos impresos en su Outlook. Sin embargo, no existe una función tan directa disponible. Por lo tanto, en este artículo, presentaremos una forma de registrar automáticamente cada correo electrónico impreso en un libro de Excel específico.
Por algunas razones, es posible que deba registrar la información de un correo electrónico cuando lo imprima. Obviamente, Outlook no proporciona una función nativa que admita esto. Por lo tanto, en general, debe realizar esta tarea manualmente. Sin embargo, con la ayuda del código VBA, aún puede dejar que Outlook emprenda esta misión con facilidad. Ahora, aquí descubriremos tal pieza de código VBA y pasos detallados para usted.
Registro automático de cada correo electrónico impreso en un libro de Excel
- Porque comotart, inicie la aplicación Outlook.
- Luego, acceda al editor de VBA haciendo clic en el botón "Visual Basic" en la pestaña "Desarrollador".
- A continuación, coloque el siguiente código VBA en un módulo no utilizado.
Sub RecordPrintedEmails()
Dim objMail As Outlook.MailItem
Dim objExcelApp As Excel.Application
Dim strExcelFile As String
Dim objExcelWorkbook As Excel.Workbook
Dim objExcelWorksheet As Excel.Worksheet
Dim nNextEmptyRow As Integer
'Get the mail
Select Case Outlook.Application.ActiveWindow.Class
Case olInspector
Set objMail = ActiveInspector.CurrentItem
Case olExplorer
Set objMail = ActiveExplorer.Selection.Item(1)
End Select
objMail.PrintOut
On Error Resume Next
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = True
'Change the path to the specific excel file
strExcelFile = "E:\Emails\Printed Emails.xlsx"
Set objExcelWorkbook = objExcelApp.Workbooks.Open(strExcelFile)
Set objExcelWorksheet = objExcelWorkbook.Sheets(1)
objExcelWorksheet.Activate
nNextEmptyRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
'Change the details as per your own case
With objExcelWorksheet
.Cells(nNextEmptyRow, 1) = Date
.Cells(nNextEmptyRow, 2) = objMail.Subject
.Cells(nNextEmptyRow, 3) = objMail.Sender
.Cells(nNextEmptyRow, 4) = objMail.SentOn
.Cells(nNextEmptyRow, 5) = objMail.Size
.Cells(nNextEmptyRow, 6) = objMail.Attachments.Count
.Columns("A:E").AutoFit
End With
objExcelWorkbook.Close True
objExcelApp.Quit
End Sub
- Después de eso, salga del editor de VBA.
- Posteriormente, de acuerdo con el “Paso Opcional” en la post "Cómo ejecutar código VBA en su Outlook“, Agregue esta macro a la cinta o barra de herramientas de acceso rápido.
- Desde entonces, cada vez que desee imprimir un correo electrónico, recuerde utilizar el botón de macro recién agregado en lugar del estándar "Imprimir".
- De esta manera, Outlook registrará automáticamente el correo impreso en la hoja de cálculo de Excel predefinida.
Mantenga el archivo de Outlook accesible
A veces, después de que Outlook se bloquea, es posible que reciba el error que le indica que el archivo PST es inaccesible. En ese momento, debe calmarse y luego hacer uso de la herramienta de reparación de la bandeja de entrada para arreglar Outlook. Sin embargo, la utilidad incorporada no es versátil. También puede fallar. Por lo tanto, si su archivo PST aún no está disponible después de la reparación de Scanpst, su último recurso es una herramienta externa más efectiva y confiable, como 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 recuperación de mdf y productos de software de reparación de Outlook. Para más información visite www.datanumen.com



