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

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

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

Author Kelly Last modified

ご存知の通り、アーカイブ機能を使用してフォルダ構造を別の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 / 高度なルールによる自動転送 / 挨拶を自動追加 / 複数宛先メールを自動的に一通ずつ分割...

📨 メール管理: メールの取り消し / 件名などで詐欺メールをブロックする / 重複メールを削除 / 高度な検索 / フォルダーを整理...

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

🌟 インターフェイスマジック: 😊さらに美しくてクールな絵文字 /重要なメール到着時に通知 / Outlookを閉じるのではなくグループを最小化...

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

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

お好みの言語で Kutools を利用可能 ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上の言語に対応!

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

kutools for outlook features1 kutools for outlook features2

🚀 ワンクリックダウンロード — Office用アドインをすべて入手

強くおすすめ: Kutools for Office(5-in-1)

ワンクリックで五つのインストーラーを同時ダウンロード ― Kutools for Excel、Outlook、Word、PowerPointOffice Tab Pro 今すぐダウンロード!

  • ワンクリックの便利さ: 五つのセットアップパッケージを一度にダウンロードできます。
  • 🚀 あらゆるOffice作業に準備完了: 必要なアドインをいつでもインストール可能です。
  • 🧰 含まれるもの: Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint