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

Outlookのフォルダ構造をデスクトップ(エクスプローラー)にコピーするにはどうすればよいですか?

Author: Kelly Last Modified: 2025-08-06

ご存知の通り、アーカイブ機能を使用してフォルダ構造を別のOutlookにコピーすることはできますが、Outlookのフォルダ構造を特定のウィンドウフォルダ(例えばデスクトップ)にコピーする方法はご存知ですか?この記事では、Outlookのフォルダ構造を簡単にエクスプローラーにコピーできるVBAをご紹介します。

Outlookのフォルダ構造をデスクトップ(エクスプローラー)にコピー


Outlookのフォルダ構造をデスクトップ(エクスプローラー)にコピー

以下の手順に従って、Outlookのフォルダ構造をデスクトップまたはエクスプローラーにコピーしてください。

1. ナビゲーションペインで、コピーしたいフォルダ構造を持つ指定されたフォルダをクリックしてハイライトし、「Alt」+「F11」キーを押してMicrosoft Visual Basic for Applicationsウィンドウを開きます。

the screenshot of step about copying Outlook folder structure to desktop (windows explorer) using vba 1

2. 「ツール」>「参照設定」をクリックして参照設定ダイアログボックスを開きます。次に、ダイアログボックスで「Microsoft Scripting Runtime」オプションをチェックし、「OK」ボタンをクリックします。スクリーンショットをご覧ください:

the screenshot of step about copying Outlook folder structure to desktop (windows explorer) using vba 2

3. 「挿入」>「モジュール」をクリックし、以下のVBAコードを新しいモジュールウィンドウにコピー&ペーストします。

VBA: Outlookのフォルダ構造をエクスプローラーにコピー

Dim xFSO As Scripting.FileSystemObject
Sub CopyOutlookFldStructureToWinExplorer()
    ExportAction "Copy"
End Sub
  
Sub ExportAction(xAction As String)
Dim xFolder As Outlook.Folder
Dim xFldPath As String
xFldPath = SelectAFolder()
If xFldPath = "" Then
    MsgBox "You did not select a folder. Export cancelled.", vbInformation + vbOKOnly, "Kutools for Outlook"
Else
    Set xFSO = New Scripting.FileSystemObject
    Set xFolder = Outlook.Application.ActiveExplorer.CurrentFolder
    ExportOutlookFolder xFolder, xFldPath
End If
Set xFolder = Nothing
Set xFSO = Nothing
End Sub

Sub ExportOutlookFolder(ByVal OutlookFolder As Outlook.Folder, xFldPath As String)
Dim xSubFld As Outlook.Folder
Dim xItem As Object
Dim xPath As String
Dim xFilePath As String
Dim xSubject As String
Dim xCount As Integer
Dim xFilename As String
On Error Resume Next
xPath = xFldPath & "\" & OutlookFolder.Name
'?????????,??????
If Dir(xPath, 16) = Empty Then MkDir xPath
For Each xItem In OutlookFolder.Items
    xSubject = ReplaceInvalidCharacters(xItem.Subject)
    xFilename = xSubject & ".msg"
    xCount = 0
    xFilePath = xPath & "\" & xFilename
    If xFSO.FileExists(xFilePath) Then
        xCount = xCount + 1
        xFilename = xSubject & " (" & xCount & ").msg"
        xFilePath = xPath & "\" & xFilename
    End If
    xItem.SaveAs xFilePath, olMSG
Next
For Each xSubFld In OutlookFolder.Folders
    ExportOutlookFolder xSubFld, xPath
Next
Set OutlookFolder = Nothing
Set xItem = Nothing
End Sub

Function SelectAFolder() As String
Dim xSelFolder As Object
Dim xShell As Object
On Error Resume Next
Set xShell = CreateObject("Shell.Application")
Set xSelFolder = xShell.BrowseForFolder(0, "Select a folder", 0, 0)
If Not TypeName(xSelFolder) = "Nothing" Then
    SelectAFolder = xSelFolder.self.Path
End If
Set xSelFolder = Nothing
Set xShell = Nothing
End Function
  
Function ReplaceInvalidCharacters(Str As String) As String
Dim xRegEx
Set xRegEx = CreateObject("vbscript.regexp")
xRegEx.Global = True
xRegEx.IgnoreCase = False
xRegEx.Pattern = "\||\/|\<|\>|""|:|\*|\\|\?"
ReplaceInvalidCharacters = xRegEx.Replace(Str, "")
End Function

4. 「F5」キーを押すか「実行」ボタンをクリックして、このVBAを実行します。

5. 表示される「フォルダを選択」ダイアログボックスで、コピーしたフォルダ構造を配置する指定されたフォルダを選択し、「OK」ボタンをクリックします。スクリーンショットをご覧ください:

the screenshot of step about copying Outlook folder structure to desktop (windows explorer) using vba 3

指定されたフォルダに移動すると、フォルダ構造が指定されたハードディスクにコピーされているのがわかります。スクリーンショットをご覧ください:

the screenshot of step about copying Outlook folder structure to desktop (windows explorer) using vba 4

注:メール、予定、タスクなどのフォルダアイテムもハードディスク内の対応するフォルダにコピーされます。


関連記事

Outlookでフォルダ構造を新しいpstデータファイルにコピーするにはどうすればよいですか?


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

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