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 & "\*.*")