このスクリプトを使用して、メイン ディレクトリのメイン パスで特定の文字列 (この場合は 300) を持つサブフォルダーを見つけます。
Sub Find_SubFolder()
Dim sFile As String, sPathSeek As String, sPathMatch As String
Const sMainPath As String = "C:\Users\502158766\Desktop\testje\"
On Error Resume Next
sPathSeek = sMainPath & 300 & " " & "*"
sFile = Dir(sPathSeek, vbDirectory)
Do While Len(sFile) > 0
If Left(sFile, 1) <> "." Then
If (GetAttr(sFile) And vbDirectory) = vbDirectory Then
sPathMatch = sFile
Exit Do
End If
End If
sFile = Dir
Loop
MsgBox IIf(sPathMatch = "", "Match not found", "Found in: " & sMainPath & sPathMatch)
Call Shell("explorer.exe " & sMainPath & sPathMatch, vbNormalFocus)
End Sub
メインディレクトリから始まるすべてのサブフォルダーをチェックして同じことを実行できるようにするこのスクリプトのアップグレードを探しています(300を含むフォルダーを検索して開きます)さらに、スクリプトは最上位のサブフォルダーを開く必要があります。
例: 私のメイン ディレクトリには、次のマップが格納されています。
C:\Users\502158766\Desktop\testje\fruit\apples\30 greens\30 fromENG
C:\Users\502158766\Desktop\testje\fruit\apples\30 greens\30 fromUSA
C:\Users\502158766\Desktop\testje\fruit\apples\30 greens\30 fromBELG
C:\Users\502158766\Desktop\testje\fruit\apples\30 greens\30 fromNL
C:\Users\502158766\Desktop\testje\fruit\apples\30 greens\30 fromCYP
C:\Users\502158766\Desktop\testje\fruit\banana\15 greens\15 fromENG
C:\Users\502158766\Desktop\testje\fruit\banana\15 greens\15 fromUSA
C:\Users\502158766\Desktop\testje\fruit\banana\10 greens\15 fromBELG
C:\Users\502158766\Desktop\testje\fruit\banana\20 greens\15 fromNL
C:\Users\502158766\Desktop\testje\fruit\banana\50 greens\15 fromCYP
スクリプトは、30 がパス シークの場合に備えて、30 グリーン マップを開く必要があります。15 がパス シークの場合は、15 のグリーン マップを開く必要がありますが、他のマップは開きません。
昨日試してみたところ、メインディレクトリのすべてのフォルダーを開き、テキストの組み合わせを使用して、最上位のサブフォルダーへのハイパーリンクを列にたどる方法を見つけました。ただし、多くのファイルが原因でスクリプトがクラッシュするのは本当に面倒でした。
私の質問が明確であることを願っています。どうもありがとうございました!