Outlookでフォルダが消えた場合の対処法!VBAでフォルダ一覧取得し確認!

Outlookでフォルダが消えてしまい困ったときはないでしょうか。

けど、そんな中で悩むことは、

・Outlookで消えたフォルダを復元したいが方法がわからない。
・Outlookでフォルダの一覧を取得し、消えたフォルダを確認したいが方法がわからない。

ですよね。

今回はそんなお悩みを解決する

・Outlookで消えたフォルダを復元する方法
・VBAでOutlookのフォルダ一覧を取得しExcelへ出力する方法

についてまとめます!

Outlookで消えたフォルダを復元する方法

Outlookで消えたフォルダを復元する方法について説明をします。

サンプルケースとして、受信トレイ配下に作成したフォルダ「サブフォルダ1-1」を誤って消してしまい、復元する内容とします。

以下のように誤って削除してしまい、フォルダごとなくなっています。

Outlook「削除済みアイテム」から復元する

Outlook左メニューの「削除済みアイテム」から復元する方法について説明をします。

フォルダを「削除済みアイテム」に移動させた場合、以下のように「削除済みアイテム」フォルダの下にサブフォルダが展開されるようになります。

もし復元したいフォルダがあればマウスでドラッグして移動するか、右クリックし、メニューからフォルダの移動を選択し移動させます。

Outlook 「削除済みアイテムをサーバーから復元」から復元する

次に完全にフォルダを消去し、「削除済みアイテム」フォルダにない場合の復元方法について説明をします。

「削除済みアイテム」フォルダを選択し、「ホーム」タブの 「削除済みアイテムをサーバーから復元」を選びます。

もしくは右ウインドウの上部「このフォルダーから最近削除されたアイテムを復元します」からでも可能です。

「削除済みアイテムを復元」ウイザードが表示されたら、削除されたアイテムを探して「選択されたアイテムを復元」を選択し「OK」をクリックします。

なお、フォルダは復元対象に含まれませんので、新規作成する必要があります。
フォルダの準備ができましたら復元したアイテムを移動します。

Outlookで消えたフォルダを見つけ出す方法

次にフォルダが消えてしまった原因として、削除したのではなく、誤って別のフォルダへ移動してしまった可能性も考えられます。

この場合、一つ一つのフォルダを確認しなければなりませんが、フォルダの件数が多かったり、階層が何層にもなっていたりすると少々手間がかかります。

次にご紹介する方法は、そんな手間を軽減する、Outlookフォルダの一覧をExcelに出力し、Excelデータから検索などをして確認する方法について説明をします。

フォルダ一覧出力先のExcelを用意する

フォルダ一覧の出力先となるExcelを用意しましょう。
以下のように1行目にフォルダの階層を示す項目名を追記します。

Outlookのフォルダ一覧をExcelに取り込むVBA

VBAの準備

Outlookのフォルダ一覧をExcelに取り込むVBAの実装方法について説明をします。

今回のサンプルコードは以下の通りです。

Sub Outlookフォルダ一覧を出力する()
    
    'Outlook用の定義
    Dim olApp As Outlook.Application
    Dim olNamespace As Outlook.Namespace
    Dim olFolderstemp As Outlook.Folders

    Dim intIchi As Integer
    

    'フォルダ一覧の出力を開始する行番号を指定します。
    intIchi = 2
    
    '指定範囲の値をクリアします。
    Range("A2:G1000000").Clear
    
    'Outlookオブジェクトをインスタンスにします。
    Set olApp = New Outlook.Application
    Set olNamespace = olApp.GetNamespace("MAPI")
    Set olFolderstemp = olNamespace.Folders
    
    'フォルダ一覧出力サブルーチンを呼び出します。
    Call Outlookフォルダ一覧出力サブルーチン(olFolderstemp, intIchi, 1)

    MsgBox "フォルダ一覧出力完了!", vbInformation

    'オブジェクトを解放します。
    Set olApp = Nothing
    Set olNamespace = Nothing
    Set olFolderstemp = Nothing
    
End Sub



Sub Outlookフォルダ一覧出力サブルーチン(olFolderstemp As Outlook.Folders, j As Integer, k As Integer)

    Dim i As Integer
    Dim olsubFolderstemp As Object

    'フォルダの件数分処理を繰り返します。
    For i = 1 To olFolderstemp.Count

        'フォルダ名をセルへ代入します。
        Cells(j, k) = olFolderstemp(i).Name
        j = j + 1

        'サブフォルダの件数がある場合は再度サブルーチンを呼び出し、再帰的に処理を繰り返します。
        If olFolderstemp(i).Folders.Count > 0 Then
            Set olsubFolderstemp = olFolderstemp(i).Folders
                Call Outlookフォルダ一覧出力サブルーチン(olsubFolderstemp, j, k + 1)
        End If
    Next

    'オブジェクトを解放します。
    Set olsubFolderstemp = Nothing

End Sub

VBAの設定

VBAの設定箇所は1か所のみです。

フォルダ一覧の出力を開始する行番号を指定します。

intIchi = 2

VBAの実装

「VBAの実装手順」をご参照ください。

VBAの実行

VBAを実行してみましょう。

「フォルダ一覧出力完了!」と表示されたら完了です。

Excelシートを見てみましょう。

はい、フォルダ一覧がExcelに取り込まれていますね!
さらに移動先がわからなかったフォルダも発見することができました!

VBAの説明

Outlookフォルダ一覧を出力するモジュール

Outlookオブジェクトをインスタンスにします。

Set olApp = New Outlook.Application
Set olNamespace = olApp.GetNamespace("MAPI")
Set olFolderstemp = olNamespace.Folders

フォルダ一覧出力サブルーチンを呼び出します。

Call Outlookフォルダ一覧出力サブルーチン(olFolderstemp, intIchi, 1)

Outlookフォルダ一覧出力サブルーチン

フォルダの件数分処理を繰り返します。

For i = 1 To olFolderstemp.Count

フォルダ名をセルへ代入します。

Cells(j, k) = olFolderstemp(i).Name

サブフォルダの件数がある場合は再度サブルーチンを呼び出し、再帰的に処理を繰り返します。

If olFolderstemp(i).Folders.Count > 0 Then
Set olsubFolderstemp = olFolderstemp(i).Folders
Call Outlookフォルダ一覧出力サブルーチン(olsubFolderstemp, j, k + 1)
End If

VBAの実装手順

Excel VBAからOutlookを操作するための下準備

Excel VBAからOutlookを操作するための下準備をしていきます。

①Excelを起動し、「開発」タブをクリックします。

②VBEの画面が開いたら、メニューから「ツール」>「参照設定」を選択します。

③「Microsoft Outlook XX.X Object Library」を探してチェックボックスにチェックし「OK」をクリックします。

Excel側へVBAを実装する

Excel側にVBAを実装していきます。
①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。

②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。

③右ペインのウインドウに上記のマクロを入力します。

こちらで実装完了です。

VBAを実行する

VBAを実行する手順となります。
①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「実行」をクリックします。

②処理がされたことが確認できれば完了です。

さいごに

いかがでしょうか。

今回は

・Outlookで消えたフォルダを復元する方法
・VBAでOutlookのフォルダ一覧を取得しExcelへ出力する方法

についてまとめました。

また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。








コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です