VBA - перебрать папку с адресом пробела

У меня есть функция, которая просит пользователя выбрать папку, а затем еще одну, которая должна выводить все имена файлов в этой папке. Я пробовал следующее, но это не работает, потому что адрес папки содержит пробелы. Не могли бы вы помочь?

'gets folder address
recsFolder = Functions.GetFolder("C:\")

'Loop through files in folder
Dim StrFile As String
StrFile = Dir(recsFolder)
Do While Len(StrFile) > 0
    Debug.Print StrFile
    StrFile = Dir
Loop

Спасибо!

Изменить: код для GetFolder

Function GetFolder(strPath As String) As String
    Dim fldr As FileDialog
    Dim sItem As String
    Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
    With fldr
        .Title = "Select a Folder"
        .AllowMultiSelect = False
        .InitialFileName = strPath
        If .Show <> -1 Then GoTo NextCode
        sItem = .SelectedItems(1)
    End With
    NextCode:
    GetFolder = sItem
    Set fldr = Nothing
End Function

Под пробелами я подразумеваю пробелы, которые присутствуют в адресе (то есть между Ежедневным и Сводным) C:\Users\User1\Desktop\Daily Summary

2 ответа

Решение

+ Изменить

StrFile = Dir(recsFolder)

к

StrFile = Dir(recsFolder & "\*.*")

Вы должны предоставить Dir() с шаблоном файла для того, чтобы перечислить файлы.

Изменить на:

StrFile = Dir$(recsFolder & "\*.*")
Другие вопросы по тегам