1

フォルダを反復処理し、「dir」関数を使用してファイルがアクティブなフォルダに存在するかどうかを確認し、ファイル名をセルに配置するマクロがあります。

問題は、2つ以上のファイルが検索を満たす可能性があることです。

Dir(subfolder & "\Kommunesvar*")

「Kommunesvar」で始まるファイルが2つある場合、指定したサブフォルダーで両方の2つの結果を取得するにはどうすればよいですか。Dirはファイル名を返しますが、両方が必要です。

4

1 に答える 1

2

をどのように使用していますかDIRKommunesvar以下のコードは、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

すべてのファイル名を1つの変数に格納する場合は、これも使用できます。

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 に答える