1

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

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

Dir(subfolder & "\Kommunesvar*")

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

4

1 回答 1

2

你怎么用DIR。下面的代码将为您提供所有以KommunesvarExcel 文件开头的文件。

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
于 2012-07-02T10:17:58.900 回答