Как автоматически экспортировать информацию о входящих электронных письмах в файл Excel с помощью Outlook VBA

Поделись сейчас:

Многие пользователи надеются, что Outlook может автоматически экспортировать основную информацию о входящих сообщениях электронной почты в файл Excel. В этой статье мы рассмотрим это требование и представим быстрый метод через Outlook VBA.

Иногда, по некоторым причинам, таким как статистика почты, вам может часто понадобиться экспортировать электронные письма в файл Excel. Как правило, для существующих полученных электронных писем вы можете просто использовать функцию «Импорт и экспорт», чтобы экспортировать их в Excel за один раз. Однако, возможно, вы даже хотите, чтобы Outlook мог автоматически экспортировать входящие электронные письма в Excel, как только они поступают в ваш почтовый ящик. Вне всякого сомнения, в Outlook такой встроенной функции нет. Поэтому вам необходимо использовать другие подходы, такие как сторонняя надстройка или Outlook VBA. Здесь мы научим вас, как сделать это автоматически с помощью Outlook VBA. Читайте дальше, чтобы получить шаги и соответствующие коды.

Автоматический экспорт информации о входящих сообщениях электронной почты в файл Excel

  1. Во-первых, вы должны создать файл Excel.
  • Откройте новый файл Excel.
  • Затем вы должны ввести «Нет». в ячейке A1, «Имя отправителя» в ячейке B1, «Адрес электронной почты отправителя» в ячейке C1 и «Тема сообщения» в ячейке D1 и «Время получения» в ячейке E1, как показано на следующем рисунке.Создать файл Excel
  • Наконец, сохраните его под желаемым именем и в нужной папке.
  1. После этого следует запустить Outlook.
  2. Затем нажмите клавиши «Alt + F11», чтобы открыть редактор VBA.
  3. Затем во всплывающем окне вы должны дважды щелкнуть «ThisOutlookSession» с левой стороны.
  4. Впоследствии в окне проекта «ThisOutlookSession» необходимо скопировать и вставить в него следующие коды VBA.
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

Коды VBA - автоматический экспорт информации о входящих электронных письмах в файл Excel

  1. Позже вы должны подписать этот код.
  2. Впоследствии резtar• Outlook, чтобы активировать новый проект VBA.
  3. В конце концов, с этого момента все входящие электронные письма будут автоматически экспортироваться в предустановленный файл Excel, как только они попадут в папку «Входящие». Файл Excel будет выглядеть следующим образом:Файл Excel, содержащий информацию о входящих электронных письмах

Предотвращение болезненного повреждения данных PST

Outlook заслужил много похвал благодаря своим различным функциям. Однако это не означает, что это надежно. Он по-прежнему может быть скомпрометирован в любое время. Например, если вы часто неправильно закрываете Outlook, очень вероятно, что ваши данные PST будут подвергнуты опасности. В этом случае, если вы хотите восстановить PST данных, вы должны прибегнуть к опытному инструменту, такому как DataNumen Outlook Repair.

Об авторе:

Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая восстановить мдф и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Комментарии закрыты.