Alguns usuários esperam salvar automaticamente logs de e-mails impressos em seu Outlook. No entanto, não há um recurso tão direto disponível. Portanto, neste artigo, apresentaremos uma maneira de registrar automaticamente cada e-mail impresso em uma pasta de trabalho específica do Excel.
Por alguns motivos, pode ser necessário registrar as informações de um e-mail ao imprimi-lo. Obviamente, o Outlook não fornece um recurso nativo que suporte isso. Assim, em geral, você deve realizar essa tarefa manualmente. No entanto, com a ajuda do código VBA, você ainda pode deixar seu Outlook realizar essa missão com facilidade. Agora, aqui vamos descobrir esse pedaço de código VBA e etapas detalhadas para você.
Log automático de cada e-mail impresso na pasta de trabalho do Excel
- Para comotart, inicie o aplicativo Outlook.
- Em seguida, acesse o editor VBA clicando no botão “Visual Basic” na guia “Desenvolvedor”.
- Em seguida, coloque o seguinte código VBA em um módulo não 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
- Depois disso, saia do editor VBA.
- Posteriormente, de acordo com a “Etapa Opcional” no post "Como executar o código VBA no seu Outlook“, adicione esta macro à faixa de opções ou à barra de ferramentas de acesso rápido.
- Desde então, toda vez que você quiser imprimir um e-mail, lembre-se de utilizar o botão de macro recém-adicionado em vez do padrão “Imprimir”.
- Dessa forma, o Outlook registrará automaticamente o e-mail impresso na planilha predefinida do Excel.
Mantenha o arquivo do Outlook acessível
Às vezes, após o Outlook travar, você pode receber o erro informando que o arquivo PST está inacessível. Nesse momento, você deve se acalmar e usar a ferramenta de reparo da caixa de entrada para corrigir Outlook. No entanto, o utilitário embutido não é versátil. Também pode falhar. Portanto, se o seu arquivo PST ainda estiver indisponível após o reparo do Scanpst, seu último recurso é uma ferramenta externa mais eficaz e confiável, como DataNumen Outlook Repair.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo recuperação mdf e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com



