Excel VBA FileDialog

Во время работы могут быть некоторые сценарии, когда нам нужно открывать некоторые другие рабочие книги или любые другие файлы либо для импорта данных, либо для получения ссылки. Есть один способ указать путь к файлу в нашем коде в VBA, который откроет нам файл или папку. Но что, если мы не помним путь, как мы можем открыть файл. Возможно, нам придется сначала найти путь, а затем снова указать путь. VBA поставляется с решением, которое называется FileDialog.

FileDialog - это свойство в VBA, которое позволяет нам открывать файл или папку по пути. Используя это свойство, пользователю не нужно указывать путь к папке, вместо этого пользователь может выбрать путь. Кроме того, FileDialog имеет четыре свойства. Они также известны как константы для этого свойства. Они заключаются в следующем:

  1. msoFileDialogFilePicker : это позволяет пользователю выбрать файл.
  2. msoFileDialogFolderPicker : это позволяет пользователю выбрать папку.
  3. msoFileDialogOpen : это позволяет пользователю открыть файл.
  4. msoFileDialogSaveAs: позволяет пользователю сохранить файл.

Способ использования этого объекта в VBA заключается в следующем.

Application.FIledialog (тип Filedialog)

Тип FileDialog может быть любым из четырех указанных выше типов. Теперь давайте использовать этот объект в примерах, чтобы более подробно узнать об этом свойстве объекта.

Как использовать Excel VBA FileDialog?

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

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

Excel VBA FileDialog - Пример № 1

Во-первых, давайте поможем пользователю выбрать файл из пункта назначения. В этом примере пользователь выберет файл из папки, и мы отобразим путь для выбранного файла.

Для использования Excel VBA FileDialog выполните следующие действия:

Шаг 1. Перейдите на вкладку « Разработчики » и нажмите на Visual Basic.

Шаг 2: Откройте модуль из меню «Вставка», как показано ниже.

Шаг 3: Запустите подпроцедуру, чтобы начать работать над примером.

Код:

 Sub SelectFile () End Sub 

Шаг 4: Объявите переменную как Filedialog, как показано ниже.

Код:

 Sub SelectFile () Dim File As FileDialog End Sub 

Шаг 5: Теперь давайте используем этот объект из метода Application.Filedialog следующим образом.

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

Шаг 7: выберите опцию типа Filedialog как msoFileDialogFilePicker

Код:

 Sub SelectFile () Dim File As FileDialog Установить файл = Application.FileDialog (msoFileDialogFilePicker) End Sub 

Шаг 8: Теперь нам нужно сделать диалоговое окно для этого примера, давайте использовать With Statement следующим образом.

Код:

 Sub SelectFile () Dim File As FileDialog Установить файл = Application.FileDialog (msoFileDialogFilePicker) с файлом, заканчивающимся End Sub 

Шаг 9: Если есть какие-либо фильтры, нам нужно очистить фильтры, поставить оператор точки и написать оператор, как показано ниже.

Код:

 Sub SelectFile () Dim File As FileDialog Установить File = Application.FileDialog (msoFileDialogFilePicker) с файлом .Filters.Clear Завершить с помощью End Sub 

Шаг 10: Теперь мы хотим, чтобы пользователь выбрал несколько файлов одновременно или один файл? Для этого примера давайте придерживаться одного файла за раз, поэтому используйте .Allowmultiselect как false.

Код:

 Sub SelectFile () Dim File As FileDialog Установить File = Application.FileDialog (msoFileDialogFilePicker) с File .Filters.Clear .AllowMultiSelect = False End With End Sub 

Шаг 11: Теперь, чтобы показать диалоговое окно, мы можем написать .show, чтобы показать диалоговое окно следующим образом.

Код:

 Sub SelectFile () Dim File As FileDialog Установить File = Application.FileDialog (msoFileDialogFilePicker) с файлом .Filters.Clear .AllowMultiSelect = False. Показать с помощью End Sub 

Шаг 12: Как только мы выполним приведенный выше код, мы увидим диалоговое окно следующим образом.

Шаг 13: Поскольку нам нужно отобразить выбранный путь пользователя, объявите другую переменную в виде строки в коде.

Код:

 Sub SelectFile () Dim File As FileDialog Dim Path As String Установить File = Application.FileDialog (msoFileDialogFilePicker) с файлом .Filters.Clear .AllowMultiSelect = False. Показать с конца End Sub 

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

Код:

 Sub SelectFile () Dim File As FileDialog Dim Path As String Установите File = Application.FileDialog (msoFileDialogFilePicker) с файлом .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) Заканчивается End Sub 

Шаг 15: После оператора With используйте функцию msgbox, чтобы отобразить адрес выбранного файла.

Код:

 Sub SelectFile () Dim File As FileDialog Dim Path As String Установите File = Application.FileDialog (msoFileDialogFilePicker) с файлом .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) Заканчивается MsgBox Путь End Sub 

Шаг 16. Запустите приведенный выше код, выберите файл и нажмите ОК, чтобы увидеть путь следующим образом.

Excel VBA FileDialog - Пример № 2

Теперь давайте посмотрим на другую опцию объекта VBA FileDialog, которая называется msoFileDialogSaveAs. Это свойство используется для сохранения файла по любому пути. Выполните следующие шаги, чтобы использовать Excel VBA FileDialog.

Шаг 1: В том же модуле напишем еще одну подпроцедуру для сохранения файла следующим образом.

Код:

 Sub SaveFile () End Sub 

Шаг 2: Теперь объявите две переменные, одну как строку, а другую как целое число.

Код:

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

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

Код:

 Sub SaveFile () Dim Choice As Integer, путь как String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show End Sub 

Шаг 4: Теперь используйте оператор IF, чтобы определить выбор пользователя следующим образом.

Код:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show If Choice 0, тогда End Sub 

Шаг 5: Теперь давайте получим путь, выбранный пользователем в нашей переменной пути, следующим образом.

Код:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show If Choice 0 тогда Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) End Sub 

Шаг 6: Теперь давайте отобразим результат с помощью функции msgbox и завершим цикл IF.

Код:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Show If Choice 0 тогда Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) MsgBox Конец пути, если End Sub 

Шаг 7: Теперь выполните приведенный выше код и увидите результат, откроется диалоговое окно для сохранения файла.

Шаг 8: дайте имя файла и нажмите «Сохранить», чтобы получить путь к файлу следующим образом.

То, что нужно запомнить

  • FileDialog является свойством объекта VBA.
  • Нам не нужно указывать путь к коду, используя этот объект.
  • Используя оператор точки, мы можем видеть и использовать свойства объекта IntelliSense.

Рекомендуемые статьи

Это руководство по VBA FileDialog. Здесь мы обсудим, как использовать объект FileDialog в Excel, используя код VBA, а также некоторые практические примеры и загружаемый шаблон Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Проверка файла VBA существует
  2. Решить уравнение в Excel
  3. VBA Удалить файл
  4. Как распечатать этикетки из Excel?
  5. Примеры для написания кода VBA

Категория: