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

Outlookでフォルダーの一覧を取得するにはどうすればよいですか?

Author: Siluvia Last Modified: 2025-08-06

ナビゲーションペイン内のすべてのメールフォルダー(作成された個人用フォルダーを含む)のツリー構造は、Outlookユーザーが作業中に役立つ場合があります。ツリー構造全体をすばやくリスト化するには、VBAコードを使用できます。このチュートリアルでは、VBAコードを使用して簡単にフォルダーの一覧を取得する方法を学べます。

VBAコードを使用してOutlookでフォルダーの一覧を取得する


VBAコードを使用してOutlookでフォルダーの一覧を取得する

VBAコードを使用してOutlookでフォルダーの一覧を取得するには、次の手順に従ってください。

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

2. 次に、「Project1」>「Microsoft Outlook Object」>「ThisOutlookSession」をダブルクリックして、「Project1 – ThisOutlookSession」ウィンドウを開きます。スクリーンショットをご覧ください:

the Project1 – ThisOutlookSession window

3. 以下のVBAコードをコピーして、Project1 – ThisOutlookSessionウィンドウに貼り付けます。

VBA: Outlookでフォルダーの一覧を取得する

Option Explicit
Sub GetFoldersList()
    On Error GoTo On_Error
    
    Dim Report As String
    Dim Folder As Outlook.Folder
       
    For Each Folder In Application.Session.Folders
        Report = Report & "---------------------------------------------------------------------------" & vbCrLf
        Call RecurseFolders(Folder, "", Report)
    Next
    Call CreateReportEmail("Outlook Folders List", Report)
    
Exiting:
    Exit Sub
On_Error:
    MsgBox "error=" & Err.Number & " " & Err.Description
End Sub
Sub RecurseFolders(CurrentFolder As Outlook.Folder, TabChars, ByRef Report As String)
    Dim SubFolder As Outlook.Folder
    Dim FolderName, StoreName As String
    
    FolderName = CurrentFolder.Name
    StoreName = CurrentFolder.Store.DisplayName
    
    Report = Report & TabChars & FolderName & " (Store: " & StoreName & ")" & vbCrLf
    
    For Each SubFolder In CurrentFolder.Folders
        Call RecurseFolders(SubFolder, TabChars & vbTab, Report)
    Next SubFolder
End Sub
Sub CreateReportEmail(Title As String, Report As String)
    Dim aMail As MailItem
    
    Set aMail = Application.CreateItem(olMailItem)
        
    aMail.Subject = Title
    aMail.Body = Report
    
    aMail.Display
End Sub

4. キーボードの「F5」キーを押して、VBAコードの実行を開始します。

5. 「マクロ」ダイアログボックスが表示されますので、「実行」ボタンをクリックしてください。

a Macro dialog box

6. マクロが実行されるのを待ちます。その後、すべてのメールフォルダーのリストが新しく作成されたメッセージウィンドウにすぐに表示されます。それを簡単に印刷することもできます。スクリーンショットをご覧ください:

the list of all your email folders is listed out in a created new message window

注意: このVBAコードは、Outlook 2007、2010、および2013に適用できます。


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

速報: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