VBA GetOpenFilename | Как использовать метод GetOpenFilename в VBA?

GetOpenFilename - это метод, который также является атрибутом FSO, этот метод используется в VBA для поиска определенного файла с именем файла и его выбора, важным фактором в этом методе является путь к имени файла, предоставленному для его открытия, мы может либо передать путь к имени файла в функции, либо мы можем попросить пользователя указать путь к файлу для его выбора.

Приложение Excel VBA.GetOpenFilename

Бывают ситуации, когда нам нужно получить доступ к определенному имени файла, и это возможно с помощью кодирования VBA. Чтобы получить доступ к файлу, нам нужно также указать путь к папке и имя файла вместе с его расширением. Чтобы получить имя файла, многие кодировщики предоставляют поле ввода VBA в качестве параметров для ввода пути к файлу и имени файла. Но это не лучший вариант для практики, потому что, когда вы представляете поле ввода перед пользователем, они не всегда запоминают путь к файлу, обратную косую черту для отделения одной папки от другой папки, имена файлов и расширения файлов. . Это делает ввод, сделанный пользователем, более беспорядочным, и в конце все будет испорчено, даже если есть небольшая ошибка символа пробела. Лучше всего заменить поле ввода методом VBA под названием «GetOpenFileName».

В этой статье мы покажем вам, как использовать VBA GetOpenFileName, чтобы получить имя файла без ошибок.

Что делает GetOpenFilename в Excel VBA?

VBA «GetOpenFileName» позволяет пользователю выбрать файл на компьютере, над которым мы работаем, не открывая файл.

С помощью метода «GetOpenFileName» мы можем фактически представить диалоговое окно перед пользователем, чтобы выбрать файл в требуемой папке. «GetOpenFileName» скопирует местоположение файла вместе с именем и расширением файла.

Синтаксис GetOpenFilename в Excel VBA

Взгляните на синтаксис метода GetOpenFilename.

  • Фильтр файлов: в этом аргументе мы можем указать, какие файлы будут отображаться для выбора. Например, если вы укажете «Файлы Excel, *. Xlsx», отобразятся только файлы Excel, сохраненные с расширением Excel «xlsx», другие файлы отображаться не будут. Если вы проигнорируете все типы файлов, будут отображаться.
  • Индекс фильтра: при этом мы ограничиваем пользователя в выборе типа файла. Мы можем указать количество фильтров, которые будут отображаться в разделе Фильтр файлов.
  • Заголовок: показывает заголовок диалогового окна выбора файла.
  • Текст кнопки: только для Macintosh.
  • Множественный выбор: TRUE, если вы хотите выбрать несколько файлов, или FALSE. Значение по умолчанию неверно.

Пример GetOpenFilename в Excel VBA

Ниже приведены примеры VBA Application.GetOpenFilename.

Вы можете скачать этот шаблон Excel для VBA GetOpenFilename здесь - Шаблон Excel для VBA GetOpenFilename

Напишем код для получения имени файла и адреса пути.

Шаг 1: Запустите подпрограмму.

Код:

 Sub GetFile_Example1 () End Sub 

Шаг 2: Объявите переменную как String.

Код:

 Sub GetFile_Example1 () Dim FileName As String End Sub 

Шаг 3: Для этой переменной мы назначим GetOpenFileName.

Код:

 Sub GetFile_Example1 () Уменьшить имя файла как строку FileName = Application.GetOpenFilename () End Sub 

На данный момент я проигнорировал все параметры.

Шаг 4: Теперь покажите результат переменной в окне сообщения.

Код:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () MsgBox FileName End Sub 

Теперь запустите код с помощью сочетания клавиш Excel F5 или вручную, появится диалоговое окно ниже для выбора файла.

Я выберу любой файл и нажму ОК.

Как только я выбираю файл, я получаю такое окно сообщения в VBA. Он показывает полный путь к папке и выбранное имя файла Excel вместе с расширением файла.

Как мы видим на изображении выше, мы могли видеть все типы файлов. Теперь я добавлю первый параметр, то есть фильтр файлов, как «Файлы Excel, *. Xlsx».

Код:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename (FileFilter: = "Файлы Excel, *. Xlsx") MsgBox FileName End Sub 

Теперь, если я запустил этот код с помощью клавиши F5 или вручную, я увижу только файлы Excel с расширением «xlsx».

Таким образом, мы можем использовать метод «VBA Application.GetOpenFileName», чтобы получить путь к папке вместе с именем файла и расширением файла.