メインコンテンツへスキップ

OutlookからExcelにメールを自動的にエクスポートするにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-08-06

通常、インポート/エクスポート機能を使用してOutlookからExcelにメールをエクスポートできます。ただし、受信したメールが届いたときに自動的にExcelファイルにエクスポートする必要がある場合、Outlookにはそのような組み込みのソリューションはありません。この記事では、それを実現するための2つの方法を紹介します。

VBAを使用して受信トレイから新しい受信メールをExcelに自動的にエクスポート 手動で面倒

Kutools for Outlookを使用して選択したフォルダーからすべてのメールをExcelレポートに迅速にエクスポート 👍高速で簡単


VBAを使用して受信トレイから新しい受信メールをExcelに自動的にエクスポート

新しいメールをExcelに自動的にエクスポートする方法が必要な場合は、次のVBAコードを使用できます。この方法は、受信トレイフォルダを監視し、新しいメールが到着するとすぐに詳細をExcelファイルにエクスポートします。

ステップ1:Excelファイルを準備する

VBAコードを実行する前に、エクスポートされたメールデータを保存するためのExcelブックを設定します。最初の行に、以下の列ヘッダーを含めます:No.、送信者名、送信者のメールアドレス、件名、受信時刻。

doc auto export emails to excel 1

ステップ2:OutlookでVBAエディタを開く

1. Alt + F11キーを押してMicrosoft Visual Basic for Applicationsウィンドウを開きます。

2. Project1 (VbaProject.OTM)ペインで、Microsoft Outlook Objectsを展開し、ThisOutlookSessionをダブルクリックします。

ステップ3:VBAコードを挿入する

次のVBAコードをモジュールにコピーして貼り付けます。

Public WithEvents GMailItems As Outlook.Items
Private Sub Application_Startup()
    Set GMailItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub GMailItems_ItemAdd(ByVal Item As Object)
    Dim xMailItem As Outlook.MailItem
    Dim xExcelFile As String
    Dim xExcelApp As Excel.Application
    Dim xWb As Excel.Workbook
    Dim xWs As Excel.Worksheet
    Dim xNextEmptyRow As Integer
    On Error Resume Next
    If Item.Class <> olMail Then Exit Sub
    Set xMailItem = Item
    ' Update this path with your actual Excel file path  
    xExcelFile = "C:\Users\DT168\Desktop\split document\kto-data.xlsx"
    If IsWorkBookOpen(xExcelFile) = True Then
        Set xExcelApp = GetObject(, "Excel.Application")
        Set xWb = GetObject(xExcelFile)
        If Not xWb Is Nothing Then xWb.Close True
    Else
        Set xExcelApp = New Excel.Application
    End If
    Set xWb = xExcelApp.Workbooks.Open(xExcelFile)
    Set xWs = xWb.Sheets(1)
    xNextEmptyRow = xWs.Range("B" & xWs.Rows.Count).End(xlUp).Row + 1
    With xWs
        .Cells(xNextEmptyRow, 1) = xNextEmptyRow - 1
        .Cells(xNextEmptyRow, 2) = xMailItem.SenderName
        .Cells(xNextEmptyRow, 3) = xMailItem.SenderEmailAddress
        .Cells(xNextEmptyRow, 4) = xMailItem.Subject
        .Cells(xNextEmptyRow, 5) = xMailItem.ReceivedTime
    End With
    xWs.Columns("A:E").AutoFit
    xWb.Save
End Sub
Function IsWorkBookOpen(FileName As String)
    Dim xFreeFile As Long, xErrNo As Long
    On Error Resume Next
    xFreeFile = FreeFile()
    Open FileName For Input Lock Read As #xFreeFile
    Close xFreeFile
    xErrNo = Err
    On Error GoTo 0
    Select Case xErrNo
        Case 0: IsWorkBookOpen = False
        Case 70: IsWorkBookOpen = True
        Case Else: Error xErrNo
    End Select
End Function

doc auto export emails to excel 2

⚡ ヒント: 上記のコードでは、C:\Users\DT168\Desktop\split document\kto-data.xlsx はメールデータが保存されるExcelブックのファイルパスと名前を表しています。必ずこのパスを実際の場所と使用したいファイル名に変更してください。

ステップ4:Microsoft Excel Object Libraryを有効にする

1. Microsoft Visual Basic for Applicationsウィンドウで、ツール > 参照設定 をクリックします。

2. 参照 - Project1ダイアログボックスで下にスクロールし、Microsoft Excel Object Libraryオプションをチェックします。

3. 変更を適用するためにOKをクリックします。

doc auto export emails to excel 3

ステップ5:保存してOutlookを再起動する

1. VBAコードを保存し、エディタを閉じます。

2. 変更を反映させるためにOutlookを再起動します。

結果:

これで、受信トレイに届くすべての新しいメールが指定されたExcelブックに自動的にエクスポートされます。

doc auto export emails to excel 4

VBA方式の制限事項:

  • ❌ 1つの受信トレイのみ対応:この方法はデフォルトの受信トレイ内の新しいメールしか追跡しません。複数のアカウントがある場合、他のアカウントからのメールはキャプチャされません。
  • ❌ マクロが有効なOutlookが必要:VBAマクロが有効である必要がありますが、これはセキュリティ上の懸念を引き起こす可能性があります。
  • ❌ ファイルパス依存性:Excelファイルが移動または削除された場合、コードは失敗します。
  • ❌ 手動セットアップが必要:ユーザーはExcelファイルパスを手動で入力し、VBA環境を設定する必要があります。

📊 Kutoolsでよりスマートなメール統計を

Kutools for Outlook統計機能を使用して、メールのアクティビティを簡単に追跡し、分析できます。これで、受信したメールを日ごと、週ごと、または月ごとにカウントし、結果を明確でプロフェッショナルなチャートで確認できます! 数回のクリックだけでメール管理を効率化し、貴重な洞察を得ることができます。

shot of the Statistics result

Kutools for Outlookを使用して選択したフォルダーからすべてのメールをExcelレポートに迅速にエクスポート 👍

VBAを使用せずにどのフォルダー(受信トレイ、送信済みアイテム、カスタムフォルダー)からでもメールをエクスポートする簡単な方法が必要な場合、Kutools for Outlookのクイックレポート機能がシンプルな解決策を提供します。

Kutools for Outlookで究極のメール効率を解き放とう!強力な70の機能を永久に無料で利用できます。今すぐ無料版をダウンロード

ステップ1:フォルダーを選択し、クイックレポート機能を有効にする

1. Outlookを開き、エクスポートしたいフォルダー(受信トレイ、送信箱、送信済みアイテムなど)に移動します。

2. Kutools Plus > レポート > クイックレポート をクリックします。

ステップ2:保存場所を選択する

1. 「レポートの保存」ウィンドウで、場所を選択し、エクスポート用のファイル名を入力します。

2. 保存 をクリックします。

doc auto export emails to excel 7

ステップ3:エクスポートされたレポートを開く

確認メッセージが表示されます。エクスポートされたファイルを開くには「はい」をクリックします。

doc auto export emails to excel 8

結果:

選択したフォルダーのすべてのメールが、送信者、件名、受信時刻などを表示するExcel互換のXMLファイルにエクスポートされます。

doc auto export emails to excel 9

Kutools for Outlook方式の利点:

  • すべてのフォルダーに対応:受信トレイ、送信済みアイテム、送信箱、またはカスタムフォルダーからメールをエクスポートします。
  • VBA不要:マクロを有効にしたり、コードを編集する必要はありません。
  • 複数アカウントサポート:複数のメールアカウントからのメールを簡単にエクスポートします。
  • 時間節約:数回のクリックで即座にレポートを生成します。
  • カスタマイズ可能なデータエクスポート:エクスポートする詳細情報(件名、送信者、日付など)を選択できます。
注意Kutools for Outlookのクイックレポートユーティリティを使用するには、まずKutools for Outlookをダウンロードしてインストールする必要があります。

どちらの方法を使用すべきですか?

ここでは、ニーズに最適な方法を決定するのに役立つ2つの方法の比較を示します。

方法最適な用途使いやすさ効率性
VBAコードを使用(自動化可能だが複雑) 受信トレイからの新しいメールを自動的にエクスポート ⭐⭐ ⭐⭐⭐⭐
Kutools for Outlookを使用(シンプルで柔軟) 選択したフォルダーからすべてのメールを迅速にエクスポート ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐

正しい方法を選択することで、ワークフローのニーズに基づいてOutlookのメールを効率的にExcelにエクスポートできます!


関連記事

  • Outlookでメール本文の表をExcelにエクスポートする
  • メッセージ本文にいくつかの表が含まれているメールを受け取った場合、その表をすべてExcelワークシートにエクスポートする必要があるかもしれません。通常、表をコピーしてワークシートに貼り付けることができますが、ここでは、複数の表をエクスポートする必要がある場合に役立つ便利な方法について説明します。
  • Outlookでタスクリストを抽出またはエクスポートする
  • Outlookを使用しているとき、タスクリストをExcelに抽出して他の用途に使用することができます。Outlookの強力なエクスポート機能を使用すると、タスクリストを簡単にExcelにエクスポートできます。以下のチュートリアルに従ってください。
  • Outlookで写真付きの連絡先情報をエクスポートする
  • Outlookから連絡先をファイルにエクスポートする場合、連絡先のテキスト情報のみがエクスポートされます。しかし、時には写真も一緒にエクスポートする必要がある場合があります。Outlookでこのタスクをどのように処理すればよいでしょうか?

最高のオフィス生産性ツール

速報:Kutools for Outlook が無料版をリリース!

新しくなった Kutools for Outlook を100以上の素晴らしい機能とともに体験してください!今すぐダウンロード!

🤖 Kutools AI : 高度なAI技術を活用し、メールの返信、要約、最適化、拡張、翻訳、作成を効率良くこなします。

📧 メール自動化: 自動返信(POPとIMAPに対応) / メール送信のスケジュール設定 /送信時にルールで自動 CC/BCC / 高度なルールによる自動転送 / 挨拶文を自動追加 / 複数宛先のメールを自動で個別のメールに分割 ...

📨 メール管理: メールの取り消し / 件名やその他の条件で迷惑メールをブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理 ...

📁 添付ファイルPro: 一括保存 / 一括切り離し / 一括圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮 ...

🌟 インターフェースマジック: 😊もっとキレイで楽しい絵文字 /重要なメールの到着をお知らせ / Outlookを閉じずに最小化 ...

👍 ワンクリック便利機能: 全員に【Attachment】付きで返信 /迷惑メール対策 / 🕘送信者のタイムゾーン表示 ...

👩🏼‍🤝‍👩🏻 連絡先&カレンダー: 選択したメールから連絡先を一括追加 /連絡先グループを個別のグループに分割 / 誕生日のリマインダーを削除 ...

お好みの言語で Kutools をご利用いただけます ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上をサポート!

Kutools for Outlook はワンクリックですぐにアンロックできます。今すぐダウンロードして効率をアップしましょう!

kutools for outlook features1 kutools for outlook features2