使用dir搜索文件 - 多次点击

时间:2012-07-02 10:08:41

标签: excel-vba vba excel

我有一个宏来遍历文件夹并使用“dir”函数来查找活动文件夹中是否存在文件,并将文件名放在单元格中。

问题是它可能有两个或更多文件满足搜索。

Dir(subfolder & "\Kommunesvar*")

如果有两个以“Kommunesvar”开头的文件,如何在指定的子文件夹中获得两个结果? Dir返回文件名,但我想要两者。

1 个答案:

答案 0 :(得分:2)

您是如何使用DIR的?以下代码将为您提供以Kommunesvar开头并且是Excel文件的所有文件。

Option Explicit

Sub Sample()
    Dim subfolder As String
    Dim sDir

    subfolder = "C:\Temp"

    sDir = Dir$(subfolder & "\Kommunesvar*.xls*", vbNormal)

    Do Until LenB(sDir) = 0
        Debug.Print subfolder & sDir
        sDir = Dir$
    Loop
End Sub

如果您想将所有文件名存储在一个变量中,那么您也可以使用它。

Sub Sample()
    Dim subfolder As String, FileNames As String
    Dim sDir

    subfolder = "C:\Temp"

    sDir = Dir$(subfolder & "\Kommunesvar*.xls*", vbNormal)

    Do Until LenB(sDir) = 0
        If FileNames <> "" Then
            FileNames = FileNames & "; " & subfolder & sDir
        Else
            FileNames = subfolder & sDir
        End If
        sDir = Dir$
    Loop

    Debug.Print FileNames
End Sub