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

Outlookで全てのフォルダーとサブフォルダーのリストをエクスポートして印刷するにはどうすればよいですか?

Author: Kelly Last Modified: 2025-05-23

一般的に、Outlookのナビゲーションペインにあるすべてのフォルダーリストを表示するには、「Ctrl」+「6」キーを押すことができます。ただし、フォルダーのリストを直接印刷することはできません。この記事では、Outlookで全てのフォルダーとそのサブフォルダーのリストをエクスポートして印刷するための2つのVBAスクリプトを紹介します。


新しいメールにOutlookの全フォルダーとそのサブフォルダーのリストをエクスポートして印刷する

この方法では、指定されたメールアカウントのすべてのフォルダーとそのサブフォルダーのリストをOutlookの新規メールにエクスポートするVBAスクリプトを紹介します。その後、フォルダーのリストを簡単に印刷できます。

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

2. 「挿入」>「モジュール」をクリックし、次のVBAコードを新しいモジュールウィンドウに貼り付けます。

VBA: Outlookの新しいメールにフォルダーとサブフォルダーのリストをエクスポートする

Public gFolders As String

Public Sub GetFolderNames()
Dim oSession As Outlook.NameSpace
Dim oFolder As Outlook.MAPIFolder
Dim oNewMail As Outlook.MailItem

Set oSession = Outlook.Application.GetNamespace("MAPI")
Set oFolder = oSession.PickFolder

If (oFolder Is Nothing) Then Exit Sub

ProcessFolder oFolder

Set oNewMail = Application.CreateItem(olMailItem)
oNewMail.Body = gFolders
oNewMail.Display

gFolders = ""
End Sub

Sub ProcessFolder(CurrentFolder As Outlook.MAPIFolder)
Dim i As Long
Dim oSubFolder As Outlook.MAPIFolder
Dim oFolder As Outlook.MAPIFolder
Dim sFolderPaths As String

For i = CurrentFolder.Folders.Count To 1 Step -1
    Set oFolder = CurrentFolder.Folders(i)
    sFolderPaths = oFolder.FolderPath
    gFolders = gFolders & vbCrLf & sFolderPaths & " " & oFolder.Items.Count
Next

For Each oSubFolder In CurrentFolder.Folders
    If oSubFolder.Name <> "Deleted Items" Then
        ProcessFolder oSubFolder
    End If
Next
End Sub

3. 「F5」キーを押してVBAを実行します。

4. 表示される「フォルダを選択」ダイアログボックスで、印刷したいフォルダーリストを持つメールアカウントを選択し、「OK」をクリックします。

Select folder dialog

5. 選択したアカウントのフォルダーリストが、以下のように新しいメールにコピーされます。「ファイル」>「印刷」をクリックして、フォルダーリストを印刷します。

Generated email with folder list

6. 印刷後、保存せずに新しいメールを閉じます。


メモ帳にOutlookの全フォルダーとそのサブフォルダーのリストをエクスポートして印刷する

この方法では、Outlookからメモ帳に指定されたメールアカウントのすべてのフォルダーとそのサブフォルダーのリストをエクスポートするVBAスクリプトを紹介します。その後、フォルダーのリストを簡単に印刷できます。

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

2. 「挿入」>「モジュール」をクリックし、次のVBAコードを新しいモジュールウィンドウに貼り付けます。

VBA: Outlookからメモ帳にすべてのOutlookフォルダーとサブフォルダーのリストをエクスポートする

Dim gFileName, gCreateTree, gBase

Public Sub ExportFolderTree()
Dim objOutlook
Dim F, Folders
Dim Result

Set objOutlook = CreateObject("Outlook.Application")
Set F = objOutlook.Session.PickFolder

If Not F Is Nothing Then
    Set Folders = F.Folders
    Result = MsgBox("Do you want to create tree?", vbYesNo + vbDefaultButton2 + vbApplicationModal, "Output Folder Tree")
    If Result = 6 Then
        gCreateTree = True
    Else
        gCreateTree = False
    End If

    gFileName = GetDesktopFolder() & "\Outlook-Folders.txt"
    gBase = Len(F.FolderPath) - Len(Replace(F.FolderPath, "\", "")) + 1

    WriteToATextFile (CreateFolderTree(F.FolderPath, F.Name))
    LoopFolders Folders

    Set F = Nothing
    Set Folders = Nothing
    Set objOutlook = Nothing
End If
End Sub

Private Function GetDesktopFolder()
Dim objShell
Set objShell = CreateObject("WScript.Shell")
GetDesktopFolder = objShell.SpecialFolders("Desktop")
Set objShell = Nothing
End Function

Private Sub LoopFolders(Folders)
Dim F
For Each F In Folders
    WriteToATextFile (CreateFolderTree(F.FolderPath, F.Name))
    LoopFolders F.Folders
Next
End Sub

Private Sub WriteToATextFile(OLKfoldername)
Dim objFSO, objTextFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(gFileName, 8, True)
objTextFile.WriteLine (OLKfoldername)
objTextFile.Close
Set objFSO = Nothing
Set objTextFile = Nothing
End Sub

Private Function CreateFolderTree(OLKfolderpath, OLKfoldername)
If gCreateTree = False Then
    CreateFolderTree = Mid(OLKfolderpath, 3)
Else
    Dim i, x, OLKprefix
    i = Len(OLKfolderpath) - Len(Replace(OLKfolderpath, "\", ""))
    For x = gBase To i
        OLKprefix = OLKprefix & "-"
    Next
    CreateFolderTree = OLKprefix & OLKfoldername
End If
End Function

3. 「F5」キーを押してVBAを実行します。開く「フォルダを選択」ダイアログボックスで、エクスポートして印刷したいフォルダーリストを持つメールアカウントを選択し、「OK」をクリックします。

Select folder dialog

4. 「出力フォルダツリー」ダイアログボックスが表示されます。ツリーのインデントを含めるかどうかによって「はい」または「いいえ」をクリックします。

Prompt for tree creation

これで、以下の画像のように「Outlook-Folders」という名前のテキストファイルが作成され、デスクトップに保存されます:

Outlook-Folders text file

5. 新しいテキストファイルをダブルクリックして開き、「ファイル」>「印刷」をクリックして、エクスポートされたOutlookフォルダーのリストを印刷します。

OutlookのAIメールアシスタント:スマートな返信、クリアなコミュニケーション(ワンクリックで魔法のような操作!) 無料

Kutools for OutlookのAIメールアシスタントを使用して、毎日のOutlookタスクを効率化しましょう。この強力なツールは、過去のメールから学習し、インテリジェントで正確な返信を提供し、メールの内容を最適化し、メッセージの作成や修正を手間なく行うことができます。
doc ai email handle

この機能がサポートする内容:

  • スマート返信:過去の会話に基づいて調整された、的確で使用準備の整った返信を取得します。
  • 強化されたコンテンツ:メールの文章を自動的に洗練させ、明瞭さと影響力を高めます。
  • 簡単な作成:キーワードを入力するだけで、複数のライティングスタイルでAIが残りを処理します。
  • インテリジェント拡張:文脈を理解した提案で考えを広げます。
  • 要約:長文のメールを瞬時に簡潔にまとめます。
  • グローバル対応:メールを簡単にどの言語にも翻訳できます。

この機能がサポートする内容:

  • スマートメール返信
  • 最適化されたコンテンツ
  • キーワードベースの下書き
  • インテリジェントなコンテンツ拡張
  • メールの要約
  • 多言語翻訳

何より、この機能は永遠に完全無料です今すぐAIメールアシスタントをダウンロードしてお楽しみください

関連記事

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