如何检查包含特定编号的文件夹中的所有文件?

时间:2019-07-02 01:56:37

标签: excel vba

我想检查文件夹中的所有文件名,如果所有文件名都包含B3的值(1.1),则返回“通过”;如果文件名之一不包含B3的值(1.1),则返回“失败”。

我已经尝试过以下代码,但是当文件名中任何一个包含B3的值(1.1)时,它将返回“ Pass”。

Found = Dir(Path & "\" & "*" & Range("B3") & "*")

If Found <> "" Then
    Range("C3,C5").Interior.ColorIndex = 4
Else
    Range("C3,C5").Interior.ColorIndex = 3
End If

1 个答案:

答案 0 :(得分:0)

下面的示例遍历文件夹中的所有文件并检查其名称。如果其中一个不包含found的值,则false将是Range("B3"),而如果所有文件的名称中都有foundtrue将是{ {1}}。

Sub Test()
    Dim objFSO As Object
    Dim objFolder As Object
    Dim objFile As Object
    Dim found As Boolean

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder("C:\testFolder")

    found = True
    For Each objFile In objFolder.Files

        If InStr(objFile.Name, Range("B3")) = 0 Then
            found = False
            Exit For
        End If

    Next objFile

    If found = True Then
        Range("C3,C5").Interior.ColorIndex = 4
    Else
        Range("C3,C5").Interior.ColorIndex = 3
    End If

End Sub

您可以使用要搜索的任何文件夹地址更改“ C:\ testFolder”。