Como exportar automaticamente informações de e-mails recebidos para um arquivo do Excel com o Outlook VBA

Compartilhe agora:

Muitos usuários esperam que o Outlook possa exportar automaticamente as informações primárias dos e-mails recebidos para um arquivo do Excel. Este artigo examinará esse requisito e apresentará um método rápido via Outlook VBA.

Às vezes, por alguns motivos, como estatísticas de e-mail, você pode precisar exportar os e-mails com frequência para um arquivo do Excel. Geralmente, para os e-mails recebidos existentes, você pode simplesmente utilizar o recurso “Importar e exportar” para exportá-los para o Excel de uma só vez. No entanto, talvez você até deseje que o Outlook possa exportar automaticamente os e-mails recebidos para o Excel assim que eles chegarem à sua caixa de correio. Sem dúvidas, não existe tal recurso nativo no Outlook. Portanto, você precisa empregar outras abordagens, como um suplemento de terceiros ou Outlook VBA. Aqui ensinaremos como torná-lo automatizado com o Outlook VBA. Continue lendo para obter as etapas e os códigos correspondentes.

Exportação automática de informações de e-mails recebidos para um arquivo do Excel

  1. Em primeiro lugar, você deve criar um arquivo Excel.
  • Abra um novo arquivo do Excel.
  • Então você deve digitar "Não". na Célula A1, “Nome do remetente” na Célula B1, “Endereço de e-mail do remetente” na Célula C1 e “Assunto do e-mail” na Célula D1 e “Hora de recebimento” na Célula E1, conforme a imagem a seguir.Criar um arquivo do Excel
  • Por fim, salve-o no nome e na pasta desejados.
  1. Depois disso, você deve iniciar o Outlook.
  2. Em seguida, pressione os botões de tecla “Alt + F11”, o que o levará ao editor VBA.
  3. Em seguida, na janela pop-up, você deve clicar duas vezes em “ThisOutlookSession” no lado esquerdo.
  4. Posteriormente, na janela do projeto “ThisOutlookSession”, você precisa copiar e colar os seguintes códigos VBA nele.
Public WithEvents objMails As Outlook.Items

Private Sub Application_Startup()
    Set objMails = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub objMails_ItemAdd(ByVal Item As Object)
    Dim objMail As Outlook.MailItem
    Dim strExcelFile As String
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkBook As Excel.Workbook
    Dim objExcelWorkSheet As Excel.Worksheet
    Dim nNextEmptyRow As Integer
    Dim strColumnB As String
    Dim strColumnC As String
    Dim strColumnD As String
    Dim strColumnE As String

    If Item.Class = olMail Then
       Set objMail = Item
    End If
 
    'Specify the Excel file which you want to auto export the email list
    'You can change it as per your case
    strExcelFile = "E:\Email\Email Statistics.xlsx"
 
    'Get Access to the Excel file
    On Error Resume Next
    Set objExcelApp = GetObject(, "Excel.Application")
    If Error <> 0 Then
       Set objExcelApp = CreateObject("Excel.Application")
    End If
    Set objExcelWorkBook = objExcelApp.Workbooks.Open(strExcelFile)
    Set objExcelWorkSheet = objExcelWorkBook.Sheets("Sheet1")
 
    'Get the next empty row in the Excel worksheet
    nNextEmptyRow = objExcelWorkSheet.Range("B" & objExcelWorkSheet.Rows.Count).End(xlUp).Row + 1
 
    'Specify the corresponding values in the different columns
    strColumnB = objMail.SenderName
    strColumnC = objMail.SenderEmailAddress
    strColumnD = objMail.Subject
    strColumnE = objMail.ReceivedTime
 
    'Add the vaules into the columns
    objExcelWorkSheet.Range("A" & nNextEmptyRow) = nNextEmptyRow - 1
    objExcelWorkSheet.Range("B" & nNextEmptyRow) = strColumnB
    objExcelWorkSheet.Range("C" & nNextEmptyRow) = strColumnC
    objExcelWorkSheet.Range("D" & nNextEmptyRow) = strColumnD
    objExcelWorkSheet.Range("E" & nNextEmptyRow) = strColumnE
 
    'Fit the columns from A to E
    objExcelWorkSheet.Columns("A:E").AutoFit
 
    'Save the changes and close the Excel file
    objExcelWorkBook.Close SaveChanges:=True
End Sub

Códigos VBA - Exportação automática de informações de e-mails recebidos para um arquivo do Excel

  1. Mais tarde você deve assinar este código.
  2. Em seguida, reinicie o Outlook para ativar o novo projeto VBA.
  3. Eventualmente, a partir de agora, todos os e-mails recebidos serão exportados automaticamente para o arquivo Excel predefinido assim que chegarem à sua pasta Caixa de entrada. O arquivo Excel será semelhante à imagem a seguir:Arquivo do Excel contendo informações de e-mails recebidos

Evite a corrupção dolorosa de dados PST

O Outlook ganhou muitos elogios devido aos seus vários recursos. No entanto, isso não significa que é infalível. Ele ainda pode ser comprometido a qualquer momento. Por exemplo, se você fecha seu Outlook incorretamente com frequência, é muito provável que seus dados PST sejam colocados em perigo. Neste caso, se você quiser reparar PST dados, você tem que recorrer a uma ferramenta experiente, 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 recuperar mdf e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

Compartilhe agora:

Comentários estão fechados.