プロが教える店舗&オフィスのセキュリティ対策術

excel VBA 特定の文字列を含むフォルダを開く方法 を教えて欲しいです。
(VBA勉強中の為わからない所が多くあります。)

「特定の文字列を含むファイルを開く方法」
「フォルダを開く方法」
はネットで多く出てくるのですが、「特定の文字列を含むフォルダを開く」方法が見つからず、教えて欲しいです。

〇全体的にやりたい事
業務のデータ等の管理の仕組みとして、「案件管理」というフォルダの中に「案件番号_客先名_商品番号」というルールで名前が作られたフォルダ群があったとして(*その各フォルダの中にデータや書類等のファイルが入っている)、
「客先名」や「商品番号」、「案件番号」で検索を掛けて該当するフォルダのリスト化や開く作業をしたい。

-------
そもそものデータを、「客先名」フォルダの下に「商品番号」フォルダを置いて、更にその下に「管理番号」フォルダを置く入れ子(階層)構造にして保管する場合のやり方は出来るようになったのですが、

Dim targ As String
targ = "C:\Users\Desktop\test\" & Range("H8").Value & "\" & Range("F8").Value & "\" & Range("C8").Value
Shell "C:\Windows\Explorer.exe " & targ, vbNormalFocus

↑データ保管場所は各絞り込みワードでフォルダの階層を作り、excelシート状の「H8」「F8」「C8」各セルに絞り込みワードが入るようにした物。各絞り込みワードで検索を掛けると自動でフォルダが開くようにした。
--------

ですが、そもそものデータ保管の方法が{「案件管理」フォルダの中に「案件番号_客先名_商品番号」という名前のフォルダ群が入っている}状態になっており、
それに合わせて「特定の文字列を含むフォルダ」のリスト化や開くコードを作れる方法があれば知りたいです。

何か出来る方法あれば教えて頂けると有り難いです。
宜しくお願い致します。

A 回答 (1件)

こんにちは



内容がよくわかりませんけれど、指定フォルダの第一階層からあいまい検索でフォルダを取得したいということでしょうか?

Dir関数を利用すればワイルドカードを使えますので、比較的簡単にピックアップできると思います。
https://docs.microsoft.com/ja-jp/office/vba/lang …

きちんとやるなら、FileSystemObjectを利用してサブフォルダを取得し、順にフォルダ名を調べてゆけば宜しいのではないでしょうか。
https://docs.microsoft.com/ja-jp/office/vba/lang …
    • good
    • 1
この回答へのお礼

ありがとうございます。
ワイルドカード調べてみます。
フォルダだけを検索してファイルは検索されない方法はありますでしょうか。

お礼日時:2021/10/14 09:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A