Excel VBA FileDialog

Під час роботи може виникнути певний сценарій, коли нам потрібно відкрити якісь інші робочі книжки або будь-які інші файли, щоб імпортувати дані, або взяти довідку. Є один спосіб надати шлях до нашого коду в VBA, який відкриє нам файл або папку. Але що робити, якщо ми не пам'ятаємо шлях, як можна відкрити файл. Можливо, нам доведеться спочатку шукати шлях, а потім знову надавати шлях. VBA постачається з рішенням, яке відоме як FileDialog.

FileDialog - це властивість у VBA, яка дозволяє нам відкривати файл або папку із шляху. Використовуючи цю властивість, користувачеві не потрібно вказувати шлях папки, а користувач може вибрати шлях. FileDialog має лише чотири властивості. Вони також відомі як константи цієї властивості. Вони такі:

  1. msoFileDialogFilePicker : Це дозволяє користувачеві вибрати файл.
  2. msoFileDialogFolderPicker : це дозволяє користувачеві вибрати папку.
  3. msoFileDialogOpen : Це дозволяє користувачеві відкрити файл.
  4. msoFileDialogSaveAs: Це дозволяє користувачеві зберегти файл.

Метод використання цього об’єкта в VBA полягає в наступному.

Application.FIledialog (тип файлового журналу)

Тип FileDialog може бути будь-яким із перерахованих вище чотирьох типів. Тепер давайте використаємо цей об’єкт у прикладах, щоб більш чітко дізнатися про цю властивість об'єкта.

Як використовувати Excel VBA FileDialog?

Нижче наведено різні приклади використання FileDialog в Excel з використанням коду VBA.

Ви можете завантажити цей шаблон файлу VBA FileDialog Excel тут - VBA FileDialog Excel Шаблон

Excel VD FileDialog - приклад №1

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

Виконайте наведені нижче дії, щоб використовувати Excel FileDialog Excel:

Крок 1: Перейдіть на вкладку Developers і натисніть на Visual Basic.

Крок 2. Відкрийте модуль у меню Вставка, як показано нижче.

Крок 3: Запустіть підпроцедуру, щоб почати працювати на прикладі.

Код:

 Sub SelectFile () Закінчення Sub 

Крок 4: Оголосіть змінну як Filedialog, як показано нижче.

Код:

 Sub SelectFile () Файл розміру як FileDialog End Sub 

Крок 5: Тепер давайте використаємо цей об’єкт із методу Application.Filedialog наступним чином.

Крок 6: Після відкриття дужок ми можемо побачити опцію для чотирьох типів FileDialog, як показано на зображенні нижче.

Крок 7: Виберіть параметр типу Filedialog як msoFileDialogFilePicker

Код:

 Sub SelectFile () Dim-файл як FileDialog Встановити файл = Application.FileDialog (msoFileDialogFilePicker) Кінець Sub 

Крок 8: Тепер нам потрібно зробити діалогове вікно для цього прикладу, використовуючи Звіт із наступним чином.

Код:

 Sub SelectFile () Dim-файл як FileDialog Встановити файл = Application.FileDialog (msoFileDialogFilePicker) з кінцем файлу з End Sub 

Крок 9: Якщо є якісь фільтри, нам потрібно очистити фільтри, поставити крапковий оператор і написати запис, як показано нижче.

Код:

 Sub SelectFile () Дим-файл як FileDialog Встановити файл = Application.FileDialog (msoFileDialogFilePicker) з файлом .Filters.Clear End з End Sub 

Крок 10: Тепер ми хочемо, щоб користувач вибирав відразу декілька файлів або один файл? Для цього прикладу давайте дотримуватись одного файлу одночасно, тому використовуйте .Allowmultiselect як хибний.

Код:

 Sub SelectFile () Дим-файл як FileDialog Встановити файл = Application.FileDialog (msoFileDialogFilePicker) з файлом .Filters.Clear .AllowMultiSelect = Помилковий кінець з кінцевим підзаголовом 

Крок 11: Тепер для того, щоб показати діалогове вікно, ми можемо записати. Показати діалогове вікно наступним чином.

Код:

 Sub SelectFile () Дим-файл як FileDialog Встановити файл = Application.FileDialog (msoFileDialogFilePicker) з файлом .Filters.Clear .AllowMultiSelect = Невірно. Показати кінець з End Sub 

Крок 12: Після виконання вищевказаного коду ми можемо побачити діалогове вікно наступним чином.

Крок 13: Оскільки нам потрібно відобразити вибраний шлях користувача, оголосимо іншу змінну як рядок у коді.

Код:

 Sub SelectFile () Dim-файл як FileDialog Dim Path As String Set File = Application.FileDialog (msoFileDialogFilePicker) з файлом .Filters.Clear .AllowMultiSelect = False. Показувати кінець кінцем Sub 

Крок 14: Ми використовуватимемо оператор selecteditems, щоб знайти шлях для обраного користувача файлу та зберегти його у нашій змінній наступним чином.

Код:

 Sub SelectFile () Файл dim як файл FileDialog Dim Path As String Set File = Application.FileDialog (msoFileDialogFilePicker) з файлом .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) Закінчити кінцем Sub 

Крок 15: Після повідомлення із заявою використовуйте функцію msgbox для відображення адреси вибраного файлу.

Код:

 Sub FileFile () Dim-файл як FileDialog Dim Path As String Set File = Application.FileDialog (msoFileDialogFilePicker) з файлом .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End with MsgBox Path End Sub 

Крок 16: Виконаємо вищезгаданий код і виберемо файл і натиснемо ОК, щоб побачити шлях наступним чином.

Excel VD FileDialog - приклад №2

Тепер давайте подивимось на інший варіант об’єкта FileDialog VBA, який є msoFileDialogSaveAs. Ця властивість використовується для збереження файлу на будь-якому шляху. Виконайте наведені нижче дії, щоб використовувати Excel FileDialog Excel.

Крок 1: У цьому ж модулі напишемо ще одну підпроцедуру для збереження файлу наступним чином.

Код:

 Sub SaveFile () Закінчення Sub 

Крок 2: Тепер оголосимо дві змінні одна як рядок, а інша - як ціле число.

Код:

 Sub SaveFile () Dim Choice As Integer, Path As String End Sub 

Крок 3: Тепер давайте зробимо діалогове вікно видимим для користувача, використовуючи властивість show наступним чином.

Код:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show End Sub 

Крок 4: Тепер використовуйте оператор IF для визначення вибору користувача наступним чином.

Код:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs). Покажіть, якщо Choice 0, то завершіть Sub 

Крок 5: Тепер давайте нам обраний користувачем шлях у нашій змінній шляху наступним чином.

Код:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show If Choice 0 then Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) End Sub 

Крок 6: Тепер покажемо результат за допомогою функції msgbox і закінчимо IF Loop.

Код:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show If Choice 0 then Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) MsgBox Path End If End Sub 

Крок 7: Тепер виконайте вищевказаний код і побачите результат, він відкриє діалогове вікно для збереження файлу.

Крок 8: Введіть ім'я файлу та натисніть кнопку «Зберегти», нам буде показано Шлях до файлу наступним чином.

Що потрібно пам’ятати

  • FileDialog - це властивість об'єкта VBA.
  • Нам не потрібно вказувати шлях до коду за допомогою цього об’єкта.
  • Використовуючи оператор крапки, ми можемо бачити та використовувати властивості об’єкта IntelliSense.

Рекомендовані статті

Це посібник до VBA FileDialog. Тут ми обговорюємо, як використовувати об'єкт FileDialog в Excel за допомогою коду VBA разом з деякими практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Перевірка файлу VBA існує
  2. Розв’яжіть рівняння в Excel
  3. Видалити файл VBA
  4. Як друкувати етикетки з Excel?
  5. Приклади для написання коду VBA

Категорія: