VBA дозволяє вибрати файл для відкриття за допомогою Application.GetOpenFilename метод. У цьому посібнику ви дізнаєтесь, як відкрити діалогове вікно файлу та встановити параметри.
Якщо ви хочете дізнатися, як відкривати та закривати файл, ви можете натиснути на це посилання: Відкрити/закрити файл VBA
Відкрийте діалогове вікно файлів у VBA
Якщо ви хочете відкрити файл у VBA, спочатку вам потрібно відкрити діалогове вікно файлу для вибору файлу. Ось код:
123 | Dim strFile As StringstrFile = Application.GetOpenFilename ( |
Як бачите, метод має кілька параметрів. FileFilter дозволяє фільтрувати потрібні вам типи файлів, у нашому випадку файли .xlsx.
В Заголовок параметр, можна встановити заголовок діалогового вікна. Якщо ви хочете дозволити відкриття кількох файлів, вам потрібно встановити MultipleSelect до Правди. Якщо ви не встановите цей параметр, можна вибрати лише один файл.
Зображення 1. Відкрийте діалогове вікно файлу
Як ви можете бачити на зображенні 1, з'явиться діалогове вікно з назвою Виберіть файл Excel. Фільтруються лише файли Excel, і ми можемо вибрати кілька файлів.
Відкрийте діалогове вікно файлу у певній папці
Якщо ви хочете відкрити діалогове вікно у певній папці, вам доведеться скористатися цим методом .FileDialog з параметром msoFileDialogFilePicker. У прикладі ми відкриємо діалогове вікно у папці C: \ Папка VBA. Ось код:
123456789101112131415161718192021 | Dim fd Як Office.FileDialogDim strFile As StringВстановити fd = Application.FileDialog (msoFileDialogFilePicker)З fd.Фільтри. Очистити.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.Add "Файли Excel", "*.xlsx?", 1.Title = "Виберіть файл Excel".AllowMultiSelect = Неправда |
Тут ми очищаємо файлові фільтри (.Фільтри. Очистити) і встановіть його на .xlsx (.Filters.Add “Excel Files”, “*.xlsx?”, 1).
Також ми можемо встановити заголовок діалогового вікна: .Title = “Виберіть файл Excel”.
Ми можемо обмежити користувача у виборі лише одного файлу:.AllowMultiSelect = Неправда
Щоб відкрити діалогове вікно у потрібній папці, нам потрібно вставити цей рядок коду:
1 | .InitialFileName = "Папка C: \ VBA" |
Наприкінці ми просто відкриємо діалогове вікно з усіма попередньо встановленими параметрами:
12345 | Якщо .Show = True ТодіstrFile = .SelectedItems (1)Закінчити Якщо |
Коли ми виконуємо цей код, у папці з'являється діалогове вікно для відкриття файлу C: \ Папка VBA:
Зображення 2. Відкрийте діалогове вікно файлу у певній папці