VBA:ExcelからOutlookのサブフォルダー名と階層パスの取得方法
1.やりたいこと
VBAでOutlookのメールを検索する際に、フォルダー構成を取得することで全フォルダーの検索が可能になるので、サブフォルダー名とその階層パスを取得したい。
下記の「関連記事」のVBAと組み合わせる感じです。
2.サンプルコード
サンプルコードは以下となります。
ひとまずサブフォルダーのパスが取得できたので、階層構成の取得はできます。
後は配列等に取り込んだりして使えます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Option Explicit Sub Get_OutlookFolder() Dim objOutlook As Outlook.Application Dim OLNamespace As Outlook.Namespace Dim OLInbox As Variant Dim i As Long Set objOutlook = New Outlook.Application Set OLNamespace = objOutlook.GetNamespace("MAPI") Set OLInbox = OLNamespace.GetDefaultFolder(olFolderInbox) 'デフォルトフォルダの「受信トレイ」はこれで取得できる。' Debug.Print OLInbox '「受信トレイ」配下のサブフォルダーのフォルダー名を階層として取得できる' For i = 1 To OLInbox.Folders.Count Debug.Print OLInbox.Folders(i).FullFolderPath Next i End Sub |
◆関連記事