Циклический просмотр файлов в папке на Mac (Dir для Mac Excel)
аюсь перебирать файлы с помощью Dir, и я понимаю, что на Mac это работает иначе, чем на Windows.Этот вопрос был полезен, но я не смог реализовать предложенное решение. Первый вызов Dir успешно возвращает желаемое имя файла, но второй вызов выдает ошибку Excel. Я хотел бы реализовать шаблон, как это:
Sub printFileNames()
Dim path as String
Dim fileName as String
path = ThisWorkbook.Path & "/SUBFOLDER/"
fileName = Dir(path, MacID("XLSX"))
While fileName <> ""
MsgBox fileName
fileName = Dir 'This CRASHES EXCEL
Wend
End Sub
Вот скриншот сообщения об ошибке, после сбоя:
Это известная ошибка? Я неправильно использую Dir для Mac версии Excel 2016?
РЕДАКТИРОВАТЬ: Я также попытался использовать это точное решение, опубликованное в приведенном выше связанном вопросе:
Sub Sample()
MyDir = ActiveWorkbook.Path
strPath = MyDir & ":SUBFOLDER:"
strFile = Dir(strPath, MacID("TEXT"))
'Loop through each file in the folder
Do While Len(strFile) > 0
If Right(strFile, 3) = "csv" Then
Debug.Print strFile
End If
strFile = Dir
Loop
End Sub
Но это приводит к ошибке «Файл не найден», хотя в указанной папке есть файлы .csv, .txt и .xlsx. С помощью:/SUBFOLDER/
вместо:SUBFOLDER:
печатает соответствующее имя файла для первого цикла, но вылетает при вызовеstrFile = Dir