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.
  • Multi-Select: TRUE, якщо ви хочете вибрати кілька файлів, або FALSE. Значення за замовчуванням - FALSE.

Приклад GetOpenFilename в Excel VBA

Нижче наведено приклади VBA Application.GetOpenFilename.

Завантажити цей шаблон VBA GetOpenFilename Excel можна тут - VBA GetOpenFilename Шаблон Excel

Давайте напишемо код, щоб отримати ім’я файлу та адресу шляху.

Крок 1: Почніть підпрограму.

Код:

 Sub GetFile_Example1 () Кінець Sub 

Крок 2: Оголосіть змінну як String.

Код:

 Sub GetFile_Example1 () Ім'я файлу незмінне як рядок Кінець Sub 

Крок 3: Для цієї змінної ми призначимо GetOpenFileName.

Код:

 Sub GetFile_Example1 () Затемнити ім'я файлу як рядок FileName = Application.GetOpenFilename () Кінець Sub 

На сьогоднішній день я ігнорував усі параметри.

Крок 4: Тепер покажіть результат змінної у вікні повідомлення.

Код:

 Sub GetFile_Example1 () Затемнити ім'я файлу як рядок FileName = Application.GetOpenFilename () MsgBox FileName End Sub 

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

Я виділю будь-який один файл і клацну на "ОК".

Як тільки я вибрав файл, я отримав вікно повідомлення у VBA, як це. Він показує повний шлях до папки та вибране ім'я файлу Excel разом із розширенням файлу.

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

Код:

 Підзапис GetFile_Example1 () Ім'я файлу як рядок FileName = Application.GetOpenFilename (FileFilter: = "Файли Excel, *. Xlsx") MsgBox FileName End Sub 

Тепер, якщо я запустив цей код за допомогою клавіші F5 або вручну, я побачу лише файли Excel із розширенням “xlsx”.

Подібно до цього, ми можемо використовувати метод “VBA Application.GetOpenFileName”, щоб отримати шлях до папки разом із Іменем файлу та розширенням файлу.