検索フォルダーを表示するマクロ


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


かなり初歩的な質問です。
検索フォルダーをアクティブにするマクロを教えて頂けますか。

よく使用する検索フォルダーをリボンに登録し、マクロで呼び出したいというのが理由です。
通常の検索フォルダー以外のフォルダーはマクロでアクティブに出来るのですが、検索フォルダーだけうまくできません。

よろしくお願いします。



検索フォルダーは通常のフォルダーのように Folders 階層には現れません。
そのため、Store オブジェクトの GetSearchFolders で検索フォルダーの一覧を取得し、その中から表示したい検索フォルダーを取得して表示するという処理が必要となります。
マクロは下記の通りです。
このマクロでは、現在表示中のウィンドウに SEARCH_FOLDER_NAME で指定した名前の検索フォルダーを表示します。
新しいウィンドウで表示したいのであれば、Set ActiveExplorer で始まる行を削除し、fldSearch.Display の行を有効にしてください。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub OpenSearchFolder()
    Const SEARCH_FOLDER_NAME = "未読のメール"
    Dim colSearch As Folders
    Dim fldSearch As Folder
    Set colSearch = Session.DefaultStore.GetSearchFolders()
    Set fldSearch = colSearch.Item(SEARCH_FOLDER_NAME)
    Set ActiveExplorer.CurrentFolder = fldSearch ' 現在表示中のウィンドウに表示
    'fldSearch.Display ' 新しいウィンドウで開く場合はこちらを使用
End Sub

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

検索フォルダーを表示するマクロ」への2件のフィードバック

  1. マクロ有り難うございます。
    現在、検索フォルダーが100以上あるため分類に困っていました。
    名前に分類名を記載して使っていましたが、100以上あるとさすがに大変でした。
    早速、マクロを参考にさせて頂き、内容によってタブに割り振りたいと思います。

    ところで既に開いている別のPSTファイル、(例えば ”メール2013”)の検索フォルダーを表示するにはSession.DefaultStoreの代わりにどのように指定すればよろしいでしょうか。
    アドバイスをお願いいたします。

    • 下記を追加することで動作しました。
      Dim NameSP As NameSpace
      Dim MyFolder As MAPIFolder

      Set NameSP = GetNamespace(“MAPI”)
      Set MyFolder = NameSP .Folders(“メール2013”)

      Set colSearch = MyFolder .Store.GetSearchFolders()

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中