OutlookVBAを使用して受信メールの情報をExcelファイルに自動エクスポートする方法

今すぐ共有:

多くのユーザーは、Outlookが受信メールの主要情報をExcelファイルに自動的にエクスポートできることを望んでいます。 この記事では、この要件を確認し、OutlookVBAを介した簡単な方法を紹介します。

メール統計などの理由で、メールをExcelファイルにエクスポートする必要がある場合があります。 通常、既存の受信メールについては、「インポートとエクスポート」機能を利用して、一度にExcelにエクスポートできます。 ただし、受信メールがメールボックスに到着するとすぐに、Outlookが受信メールをExcelに自動エクスポートできるようにしたい場合もあります。 間違いなく、Outlookにはそのようなネイティブ機能はありません。 したがって、サードパーティのアドインやOutlookVBAなどの他のアプローチを採用する必要があります。 ここでは、OutlookVBAで自動化する方法を説明します。 手順とそれに応じたコードを取得するために読んでください。

受信メールの情報を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. 続いて、解像度tart新しいVBAプロジェクトをアクティブ化するためのOutlook。
  3. 最終的に、今後、すべての受信メールは、受信トレイフォルダーに到着するとすぐに、事前設定されたExcelファイルに自動的にエクスポートされます。 Excelファイルは次の画像のようになります。受信メールの情報を含むExcelファイル

痛みを伴うPSTデータの破損を回避する

Outlookは、そのさまざまな機能により、多くの賞賛を得ています。 しかし、それが絶対確実というわけではありません。 それでもいつでも危険にさらされる可能性があります。 たとえば、Outlookを不適切に頻繁に閉じると、PSTデータが危険にさらされる可能性が非常に高くなります。 この場合、 PSTを修復する データについては、次のような経験豊富なツールに頼る必要があります DataNumen Outlook Repair.

著者紹介:

Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 mdfを回復する と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。