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

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

Author: Xiaoyang Last Modified: 2025-05-23

通常、インポート/エクスポート機能を使用して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 の無料版を体験してください。70以上の素晴らしい機能が永遠に使えます!今すぐダウンロードをクリック!

🤖 Kutools AI : 高度なAI技術を使用して、メールの返信、要約、最適化、拡張、翻訳、作成を簡単に行います。

📧 メール自動化: 自動返信 (POPとIMAPで利用可能) / メール送信のスケジュール / メール送信時にルールによる自動 CC/BCC / 自動転送 (高度なルール) / 自動挨拶追加 / 複数の宛先を持つメールを個別のメールに自動的に分割...

📨 メール管理: メールの取り消し / 件名やその他によるスパムメールのブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理...

📁 添付ファイルプロ: バッチ保存 / バッチ切り離し / バッチ圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮...

🌟 インターフェースマジック: 😊より美しくクールな絵文字 /重要なメールが来たときに通知 / クローズ中ではなくOutlookを最小化...

👍 ワンクリックの驚き: 全員に【Attachment】付きで返信 / フィッシング対策メール / 🕘送信者のタイムゾーンを表示...

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

Kutools for Outlook をワンクリックで即座にアンロック。待たずに今すぐダウンロードして効率を高めましょう!

kutools for outlook features1 kutools for outlook features2