Outlookのメール一覧をVBAで簡単にExcelへ出力する方法とは?【初心者向け解決ガイド】

パソコンパソコン・スマホ教室
スポンサーリンク

皆さん、こんにちは。今日は、OutlookのメールをExcelに一覧として出力する方法をご紹介します。パソコン操作が苦手な方でも、手順に沿って進めれば簡単にできますので、ご安心ください。

スポンサーリンク

OutlookメールをExcelに出力する手順

まず、OutlookのメールをExcelに出力するための手順を説明します。以下の手順で進めていきましょう。

  1. Excelで開発タブを表示する
  2. Outlookオブジェクトライブラリの参照設定を行う
  3. VBAコードを入力して実行する

それでは、順を追って説明していきます。

1. Excelで開発タブを表示する

まず、Excelで「開発」タブを表示する必要があります。「開発」タブは通常非表示になっているため、以下の手順で表示させましょう。

  1. Excelを開き、左上の「ファイル」をクリックします。
  2. 「オプション」を選択します。
  3. 「リボンのユーザー設定」をクリックします。
  4. 右側の「開発」にチェックを入れて、「OK」をクリックします。

これで、Excelのリボンに「開発」タブが表示されます。

2. Outlookオブジェクトライブラリの参照設定を行う

次に、ExcelからOutlookを操作するための設定を行います。これを「参照設定」と言います。

  1. 「開発」タブをクリックし、左端の「Visual Basic」をクリックします。
  2. VBAエディタが開きますので、上部メニューの「ツール」から「参照設定」を選択します。
  3. 表示された一覧の中から「Microsoft Outlook xx.x Object Library」にチェックを入れ、「OK」をクリックします。

これで、ExcelからOutlookを操作する準備が整いました。

3. VBAコードを入力して実行する

最後に、OutlookのメールをExcelに出力するためのVBAコードを入力し、実行します。

  1. VBAエディタの左側に表示されている「ThisWorkbook」をダブルクリックします。
  2. 表示されたコードウィンドウに、以下のコードをコピーして貼り付けます。
    vbaコード
    Sub ExportOutlookEmailsToExcel()
    Dim OutlookApp As Object
    Dim OutlookNamespace As Object
    Dim Folder As Object
    Dim OutlookMail As Object
    Dim i As Integer
    Dim ws As Worksheet

    ' Excelのシートを設定
    Set ws = ThisWorkbook.Sheets(1)
    ws.Cells.Clear
    ws.Cells(1, 1).Value = "受信日時"
    ws.Cells(1, 2).Value = "送信者"
    ws.Cells(1, 3).Value = "件名"
    ws.Cells(1, 4).Value = "本文"
    i = 2

    ' Outlookの受信トレイを設定
    Set OutlookApp = CreateObject("Outlook.Application")
    Set OutlookNamespace = OutlookApp.GetNamespace("MAPI")
    Set Folder = OutlookNamespace.GetDefaultFolder(6) ' 6は受信トレイを指します

    ' 受信トレイ内の各メールを取得
    For Each OutlookMail In Folder.Items
    If OutlookMail.ReceivedTime >= Date - 7 Then ' 過去7日間のメールを対象
    ws.Cells(i, 1).Value = OutlookMail.ReceivedTime
    ws.Cells(i, 2).Value = OutlookMail.SenderName
    ws.Cells(i, 3).Value = OutlookMail.Subject
    ws.Cells(i, 4).Value = OutlookMail.Body
    i = i + 1
    End If
    Next OutlookMail

    ' メッセージを表示
    MsgBox "メールのエクスポートが完了しました。", vbInformation
    End Sub

  3. コードを貼り付けたら、上部メニューの「実行」ボタン(緑の三角形)をクリックして、コードを実行します。

これで、Outlookの受信トレイにある過去7日間のメール情報が、Excelのシート1に一覧として出力されます。各メールの受信日時、送信者、件名、本文が表示されるはずです。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

よくある質問や疑問

Q1: コードを実行しても何も起こりません。どうすればいいですか?

まず、参照設定が正しく行われているか確認してください。「Microsoft Outlook xx.x Object Library」にチェックが入っていることを確認しましょう。また、Outlookが正しく起動しているか、メールが受信トレイに存在するかも確認してください。

Q2: 特定のフォルダ内のメールを出力したい場合はどうすればいいですか?

コード内の `Set Folder = OutlookNamespace.GetDefaultFolder(6)` の部分を、特定のフォルダを指すように変更します。例えば、送信済みアイテムは `5`、下書きは `16` となります。カスタムフォルダの場合は、フォルダ名を指定して取得する必要があります。

コメント

タイトルとURLをコピーしました