VBA позволяет вам выбрать файл для открытия с помощью Application.GetOpenFilename метод. В этом руководстве вы узнаете, как открыть диалоговое окно файла и установить параметры.
Если вы хотите узнать, как открывать и закрывать файл, вы можете щелкнуть по этой ссылке: VBA Open / Close File
Открыть диалоговое окно файла в VBA
Если вы хотите открыть файл в VBA, сначала вам нужно открыть диалоговое окно файла для выбора файла. Вот код:
123 | Dim strFile As StringstrFile = Application.GetOpenFilename ( |
Как видите, у метода есть несколько параметров. FileFilter позволяет фильтровать типы файлов, которые вам нужны, в нашем случае файлы .xlsx.
в Заголовок параметр, вы можете установить заголовок диалогового окна. Если вы хотите разрешить открытие нескольких файлов, вам необходимо установить MultipleSelect к True. Если этот параметр не задан, можно выбрать только один файл.
Изображение 1. Откройте диалоговое окно с файлом.
Как вы можете видеть на изображении 1, появляется диалоговое окно с заголовком Выберите файл Excel. Фильтруются только файлы Excel, и мы можем выбрать несколько файлов.
Открыть диалоговое окно файла в определенной папке
Если вы хотите открыть диалоговое окно в определенной папке, вы должны использовать метод .FileDialog с параметром msoFileDialogFilePicker. В этом примере мы откроем диалоговое окно в папке C: \ VBA Папка. Вот код:
123456789101112131415161718192021 | Dim fd как Office.FileDialogDim strFile As StringУстановите fd = Application.FileDialog (msoFileDialogFilePicker)С fd.Filters.Clear.Filters.Add «Файлы Excel», «* .xlsx?», 1.Title = "Выберите файл Excel".AllowMultiSelect = Ложь.InitialFileName = "Папка C: \ VBA"Если .Show = True, тоstrFile = .SelectedItems (1)Конец, еслиКонец с |
Сначала вам нужно объявить переменную fd тип Office.FileDialog и строковая переменная для приема файла:
12 | Dim fd как Office.FileDialogDim strFile As String |
После этого нужно установить fd к Application.FileDialog (msoFileDialogFilePicker):
1 | Установите fd = Application.FileDialog (msoFileDialogFilePicker) |
Теперь внутри С fd Конец с, мы можем установить несколько параметров:
1234567 | .Filters.Clear.Filters.Add «Файлы Excel», «* .xlsx?», 1.Title = "Выберите файл Excel".AllowMultiSelect = Ложь |
Здесь мы очищаем файловые фильтры (.Filters.Clear) и установите для него .xlsx (.Filters.Add «Файлы Excel», «* .xlsx?», 1).
Также мы можем установить заголовок диалогового окна: .Title = «Выберите файл Excel».
Мы можем ограничить пользователя выбором только одного файла:.AllowMultiSelect = False
Чтобы открыть диалоговое окно в нужной папке, нам нужно поместить эту строку кода:
1 | .InitialFileName = "Папка C: \ VBA" |
В конце мы просто откроем диалоговое окно со всеми ранее установленными параметрами:
12345 | Если .Show = True, тоstrFile = .SelectedItems (1)Конец, если |
Когда мы выполняем этот код, в папке появляется диалоговое окно для открытия файла. C: \ VBA Папка:
Изображение 2. Откройте диалоговое окно файла в определенной папке.