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 'Obter o e-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 'Alterar o caminho para o arquivo Excel específico 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 'Altere os detalhes conforme seu próprio caso Com objExcelWorksheet .Cells(nNextEmptyRow, 1) = Data .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