0

我正在使用此脚本在主目录主路径中查找具有特定字符串(在本例中为 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 个果岭地图而不是其他果岭地图。

我昨天一直在尝试,我找到了一种方法来打开主目录中的所有文件夹,并使用文本组合来列跟随到最高子文件夹的超链接。但是,由于文件很多,脚本崩溃确实很麻烦。

希望我的问题很清楚,非常感谢大家!

4

1 回答 1

0

看看这里。它几乎可以工作。我认为您需要在调用“GetAttr(sFile)”时将 apth 添加到 SFile

于 2014-05-21T20:46:48.650 回答