Перейти к содержанию

Открытие файла VBA

1 файл

Для открытия 1 файла и передачи его на дальнейшую обработку, используй этот код:

avFiles = Application.GetOpenFilename _
      ("Excel files(*.xls*),*.xls*", 1, "Выбери Excel файл", , False)
If VarType(avFiles) = vbBoolean Then
      'была нажата кнопка отмены - выход из процедуры
      Exit Sub
End If

Set avFiles1 = Workbooks.Open(Filename:=avFiles)

Несколько файлов

Чтобы открыть много файлов и запустить обработку по ним, используем цикл:

FilesToOpen = Application.GetOpenFilename _
      (FileFilter:="All files (*.*), *.*", _
      MultiSelect:=True, Title:="Files to Merge")

If TypeName(FilesToOpen) = "Boolean" Then
      MsgBox "Не выбрано ни одного файла!"
      Exit Sub
End If

'проходим по всем выбранным файлам
x = 1
While x <= UBound(FilesToOpen)
    With Workbooks.Open(FilesToOpen(x)).Sheets(1)
        ...
        ...
    End With
     x = x + 1
Wend