【初月無料キャンペーン中】gooドクター

いつもお世話になっております。
下記のコードはフォルダの中の
解析のファイルを開くコードです。

教えてくれませんでしょぅか
フォルダの中の指定されたフォルダを開く方法
いろいろ検索や下記のコードをいじっても
うまくいきませんです。
お願いできますでしょうか。

Dim path, fso, file, files

'ファイル格納フォルダ
path = "C:\Users\NEC-PCuser\OneDrive\デスクトップ\テスト\"

Set fso = CreateObject("Scripting.FileSystemObject")
Set files = fso.GetFolder(path).files

'フォルダ内の全ファイルをループ
For Each file In fso.GetFolder(path).files

'文字指定
If InStr(file.Name, TextBox1.Value) >= 1 Then
'ファイルを開く
CreateObject("Shell.Application").shellexecute file
End If
Next file

質問者からの補足コメント

  • ムッ

    いつもお世話になっております。
    いまのコードはファイルは開きます。
    フォルダの中にあるサブフォルダを開きたいのです。
    For Each file In fso.GetFolder(path).Folders
    にすると黄色く反転 わかりません

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/09/16 22:26
gooドクター

A 回答 (4件)

こんばんは。



ネットで検索しただけですが、下記が参考になるでしょうか?
再帰プログラム(自分自身を呼び出しています。)

http://officetanaka.net/excel/vba/tips/tips36.htm

ネットのものをベースに、質問者さんのPath名などを入れてみました。
動作確認はできていませんが、どうでしょうか?

Sub Sample()
Call FileSearch("C:\Users\NEC-PCuser\OneDrive\デスクトップ\テスト\", TextBox1.Value)
End Sub

Sub FileSearch(Path As String, Target As String)
Dim FSO As Object, Folder As Variant, File As Variant
Set FSO = CreateObject("Scripting.FileSystemObject")
For Each Folder In FSO.GetFolder(Path).SubFolders
Call FileSearch(Folder.Path, Target)
Next Folder
For Each File In FSO.GetFolder(Path).Files
If File.Name Like Target & "*" Then
CreateObject("Shell.Application").shellexecute File.Path
End If
Next File
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。

うまくいきました。

お礼日時:2021/09/17 07:54

こんばんは



なんか最終的に何をしたいのかよくわかりませんけれど、もしかするとエクスプローラでフォルダを開いた状態にしたいという事でしょうか??

その場合は、エクスプローラを立ち上げて、フォルダを指定することになります。
https://kazusa-pg.com/vba-open-folder-by-shell/

※ 勘違いだったら、無視してください。
    • good
    • 1
この回答へのお礼

ありがとうございました。

お礼日時:2021/09/17 07:55

すみません、 一部、訂正になります。



If File.Name Like "*" & Target & "*" Then
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2021/09/17 07:54

こんばんは。



どんなふうに、うまくいかないのでしょうか?
何をしたくて、現状こんな状況などを書かれると、回答がつきやすいかと。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2021/09/17 07:54

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

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

gooドクター

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

人気Q&Aランキング