Як використовувати метод GetOpenFilename в Excel 2016 VBA

Якщо вашій процедурі VBA потрібно запитати у користувача ім’я файлу, ви можете скористатися функцією InputBox і дозволити користувачеві Excel вводити текст. Однак поле введення зазвичай не найкращий інструмент для цієї роботи, оскільки більшості користувачів важко запам’ятати шляхи, зворотну косу риску, імена файлів і розширення файлів. Іншими словами, занадто легко зіпсувати, вводячи ім’я файлу.

Для кращого вирішення цієї проблеми скористайтеся методом GetOpenFilename об’єкта Application, який гарантує, що ваш код отримає дійсне ім’я файлу, включаючи його повний шлях. Метод GetOpenFilename відображає знайоме діалогове вікно «Відкрити» (бездіяльність діалогового вікна Excel відображається, коли ви вибираєте «Файл» → «Відкрити» → «Огляд»).

Метод GetOpenFilename насправді не відкриває вказаний файл. Цей метод просто повертає вибране користувачем ім’я файлу у вигляді рядка. Тоді ви можете написати код, щоб робити все, що хочете, з іменем файлу.

Синтаксис методу GetOpenFilename

Офіційний синтаксис методу GetOpenFilename такий:

object.GetOpenFilename ([fileFilter], [filterIndex],
  [назва],[buttonText], [multiSelect])

Метод GetOpenFilename приймає наведені нижче додаткові аргументи.

Аргумент Що воно робить
FileFilter Визначає типи файлів, які відображаються в діалоговому вікні
(наприклад, *.TXT). Ви можете вказати кілька фільтрів для
вибору користувача.
FilterIndex Визначає, які фільтри файлів відображаються в діалоговому вікні за
замовчуванням.
Назва Визначає заголовок рядка заголовка діалогового вікна
.
ButtonText Ігнорується (використовується лише для версії Excel для Macintosh).
MultiSelect Якщо True, користувач може вибрати кілька файлів.

Приклад GetOpenFilename

Аргумент fileFilter визначає те, що з’являється у розкривному списку «Тип файлів» діалогового вікна. Цей аргумент складається з пар рядків фільтра файлів, за якими слідує специфікація фільтра файлу з підстановочними знаками, кожна частина і пара відокремлюються комами. Якщо його опустити, цей аргумент за замовчуванням має таке:

Усі файли (*.*), *.*

Зверніть увагу, що цей рядок складається з двох частин, розділених комою:

Усі файли (*.*)

і

*.*

Першою частиною цього рядка є текст, що відображається у спадному списку Тип файлів. Друга частина визначає, які файли відображатиметься у діалоговому вікні. Наприклад, *.* означає всі файли.

Код у наведеному нижче прикладі відкриває діалогове вікно, яке запитує у користувача ім’я файлу. Процедура визначає п'ять фільтрів файлів. Зверніть увагу, що послідовність продовження рядка VBA використовується для налаштування змінної Filter; це допомагає спростити цей досить складний аргумент.

Sub GetImportFileName ()
  Dim Finfo як рядок
  Dim FilterIndex As Long
  Приглушена назва як рядок
  Dim FileName як варіант
' Налаштуйте список фільтрів файлів
  FInfo = «Текстові файли (*.txt),*.txt» & _
      «Файли Lotus (*.prn),*.prn», & _
      «Файли, розділені комами (*.csv),*.csv», & _
      «Файли ASCII (*.asc),*.asc», & _
      "Усі файли (*.*),*.*"
' Відображати *.* за замовчуванням
  Індекс фільтра = 5
' Встановіть заголовок діалогового вікна
  Заголовок = «Виберіть файл для імпорту»
' Отримайте ім'я файлу
  FileName = Application.GetOpenFilename (FIinfo, _
    FilterIndex, Title)
' Обробка інформації про повернення з діалогового вікна
  Якщо ім'я файлу = False, то
    MsgBox «Файл не вибрано».
  Інакше
    MsgBox «Ви вибрали» та ім’я файлу
  Кінець Якщо
Кінець суб

Ось діалогове вікно, яке відображається Excel, коли ви виконуєте цю процедуру. Зовнішній вигляд може відрізнятися залежно від версії Windows, яку ви використовуєте, і параметрів відображення, які ви встановили.

Як використовувати метод GetOpenFilename в Excel 2016 VBA

Метод GetOpen Filename відображає діалогове вікно, яке можна налаштувати, і повертає шлях та ім’я вибраного файлу. Це не відкриває файл.

У реальній програмі ви б зробили щось більш значуще з іменем файлу. Наприклад, ви можете відкрити його, використовуючи такий оператор:

Робочі книги. Відкрийте ім’я файлу

Зверніть увагу, що змінна FileName оголошується як тип даних Variant. Якщо користувач натисне кнопку «Скасувати», ця змінна містить логічне значення (False). В іншому випадку FileName є рядком. Таким чином, використання типу даних Variant обробляє обидві можливості.


Як заборонити Microsoft Word відкривати файли в режимі лише для читання в Windows

Як заборонити Microsoft Word відкривати файли в режимі лише для читання в Windows

Як заборонити Microsoft Word відкривати файли в режимі лише для читання в Windows. Microsoft Word відкриває файли в режимі лише для читання, що робить неможливим їх редагування? Не хвилюйтеся, методи наведено нижче

Як виправити неправильний друк документів Microsoft Word

Як виправити неправильний друк документів Microsoft Word

Як виправити помилки під час друку неправильних документів Microsoft Word Помилки під час друку документів Word зі зміненими шрифтами, безладними абзацами, відсутнім текстом або втраченим вмістом є досить поширеними. Однак не варто

Зітріть малюнки ручкою та маркером на слайдах PowerPoint

Зітріть малюнки ручкою та маркером на слайдах PowerPoint

Якщо ви використовували перо або маркер для малювання на слайдах PowerPoint під час презентації, ви можете зберегти малюнки для наступної презентації або стерти їх, щоб наступного разу, коли ви показуватимете їх, розпочали з чистих слайдів PowerPoint. Дотримуйтесь цих інструкцій, щоб стерти малюнки пером і маркером: Стирання рядків на одній з […]

Вміст бібліотеки стилів у SharePoint 2010

Вміст бібліотеки стилів у SharePoint 2010

Бібліотека стилів містить файли CSS, файли мови розширюваної мови таблиць стилів (XSL) та зображення, які використовуються попередньо визначеними основними сторінками, макетами сторінок та елементами керування в SharePoint 2010. Щоб знайти файли CSS у бібліотеці стилів сайту видавництва: виберіть «Дії сайту»→ «Перегляд». Весь вміст сайту. З’являється вміст сайту. Бібліотека Style знаходиться в […]

Форматуйте числа в тисячах і мільйонах у звітах Excel

Форматуйте числа в тисячах і мільйонах у звітах Excel

Не перевантажуйте аудиторію гігантськими цифрами. У Microsoft Excel ви можете покращити читабельність своїх інформаційних панелей і звітів, відформатувавши числа, щоб вони відображалися в тисячах або мільйонах.

Як ділитися сайтами SharePoint і слідкувати за ними

Як ділитися сайтами SharePoint і слідкувати за ними

Дізнайтеся, як використовувати інструменти соціальних мереж SharePoint, які дозволяють особам і групам спілкуватися, співпрацювати, обмінюватися інформацією та спілкуватися.

Як перетворити дати в юліанські формати в Excel

Як перетворити дати в юліанські формати в Excel

Юліанські дати часто використовуються у виробничих середовищах як мітка часу та швидкий довідник для номера партії. Цей тип кодування дати дозволяє роздрібним продавцям, споживачам та агентам з обслуговування визначити, коли був виготовлений продукт, а отже, і вік продукту. Юліанські дати також використовуються в програмуванні, військовій справі та астрономії. Інший […]

Як створити веб-програму Access

Як створити веб-програму Access

Ви можете створити веб-програму в Access 2016. Так що ж таке веб-програма? Ну, веб означає, що він онлайн, а додаток — це просто скорочення від «додаток». Користувацька веб-програма — це онлайн-додаток для баз даних, доступ до якого здійснюється з хмари за допомогою браузера. Ви створюєте та підтримуєте веб-програму у настільній версії […]

Панель швидкого запуску в SharePoint 2010

Панель швидкого запуску в SharePoint 2010

Більшість сторінок у SharePoint 2010 відображають список посилань навігації на панелі швидкого запуску ліворуч. Панель швидкого запуску відображає посилання на пропонований вміст сайту, наприклад списки, бібліотеки, сайти та сторінки публікації. Панель швидкого запуску містить два дуже важливі посилання: Посилання на весь вміст сайту: […]

Що означають повідомлення про помилки розв’язувача в Excel?

Що означають повідомлення про помилки розв’язувача в Excel?

Для простих задач Solver в Excel зазвичай швидко знаходить оптимальні значення змінної Solver для цільової функції. Але в деяких випадках Solver має проблеми з пошуком значень змінної Solver, які оптимізують цільову функцію. У цих випадках Solver зазвичай відображає повідомлення або повідомлення про помилку, що описує або обговорює проблему, яка […]