Outlook 研究所

2016年10月22日

深い階層のフォルダーを一度に作成するマクロ


コメントにて以下のご要望をいただきました。


お世話になっております。Outlook 2013 または 2016 で、受信トレイのサブフォルダーとして作成したフォルダー A に対して、さらに多階層のサブフォルダーを一括作成したいと考えています。
具体的には、フォルダー A のサブフォルダーとしてサブフォルダー B を、そして、サブフォルダー B のサブフォルダーとしてさらにサブフォルダー C を、、、という感じで、3~4 階層程度のサブフォルダーを作成する方法をご教示くださいますようお願いいたします。
よろしくお願いします。



Outlook の標準機能ではフォルダーは 1 度に 1 つしか作れないため、ご要望のような動作を満たすにはマクロを作る必要があります。
例えば、現在選択中のフォルダーの下に、入力した文字列を ¥ で区切ったフォルダー階層を作成するマクロは以下のようになります。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub CreateDeepSubFolder()
    On Error Resume Next
    Dim fldRoot As Folder
    Dim fldSub As Folder
    Dim strPath As String
    Dim astrFolders As Variant
    Dim strSub As Variant
    '
    strPath = InputBox("フォルダー パス")
    If strPath <> "" Then
        astrFolders = Split(strPath, "¥")
        Set fldRoot = ActiveExplorer.CurrentFolder
        For Each strSub In astrFolders
            Set fldSub = Nothing
            Set fldSub = fldRoot.Folders(strSub)
            If fldSub Is Nothing Then
                Set fldSub = fldRoot.Folders.Add(strSub)
            End If
            Set fldRoot = fldSub
        Next
    End If
End Sub

マクロの登録方法やメニューへの追加について

コメントする »

まだコメントはありません。

RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com Blog.

%d人のブロガーが「いいね」をつけました。