Запрашивает у пользователя путь к файлу для зацикливания файлов папки - PullRequest
0 голосов
/ 28 марта 2019

Вместо указания пути к файлу в моем коде, я предлагаю пользователю выбрать папку, содержащую файлы данных в формате xlsx, по которой осуществляется циклическая обработка: For Each wbFile In fldr.Files.

Я получаю ошибку 424.

См закомментированные строки в коде:

Sub getDataFromWbs()

Dim wb As Workbook, ws As Worksheet
Set fso = CreateObject("Scripting.FileSystemObject")
'Set fldr = fso.GetFolder("\\name_of_folder_to_get_files_from\")  'old code

'Dim FolderName As String      'fldr was previously, original code: FolderName
With Application.FileDialog(msoFileDialogFolderPicker)
    .AllowMultiSelect = False
    .Show
    On Error Resume Next
    fldr = .SelectedItems(1)     'fldr was previously, original code: FolderName
    Err.Clear
    On Error GoTo 0
End With

i = "1"                        'set integer for loop over sheets
For Each wbFile In fldr.Files  'loop over data in prompted folder

1 Ответ

0 голосов
/ 28 марта 2019

Вот быстрое исправление вашего кода:

Sub getDataFromWbs()

Dim wb As Workbook, ws As Worksheet
Set fso = CreateObject("Scripting.FileSystemObject")
'Set fldr = fso.GetFolder("\\name_of_folder_to_get_files_from\")  'old code

'Dim FolderName As String      'fldr was previously, original code: FolderName
With Application.FileDialog(msoFileDialogFolderPicker)
  .AllowMultiSelect = False
  .Show
  On Error Resume Next
  FolderName = .SelectedItems(1)     'fldr was previously, original code: FolderName
  Err.Clear
  On Error GoTo 0
End With

i = "1"                        'set integer for loop over sheets
Set fldr = fso.GetFolder(FolderName)
For Each wbFile In fldr.Files  'loop over data in prompted folder
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...