Excel VBA FileDialog

По време на работа може да има някои сценарии, при които трябва да отворим някои други работни книги или други файлове или за да импортираме данни, или да направим справка. Има един метод за предоставяне на път към файла в нашия код във VBA, който ще отвори файла или папката за нас. Но какво ще стане, ако не помним пътя как можем да отворим файла. Може да се наложи първо да търсим пътя и след това отново да предоставим пътя. VBA идва с решение, което е известно като FileDialog.

FileDialog е свойство във VBA, което ни позволява да отворим файл или папка от път. Използвайки това свойство, потребителят не трябва да посочва пътя на папката, вместо това потребителят може да избере пътя. Не само това, FileDialog има общо четири свойства. Те също са известни като константи за този имот. Те са както следва:

  1. msoFileDialogFilePicker : Това позволява на потребителя да избере файл.
  2. msoFileDialogFolderPicker : Това позволява на потребителя да избере папка.
  3. msoFileDialogOpen : Това позволява на потребителя да отвори файл.
  4. msoFileDialogSaveAs: Това позволява на потребителя да запише файл.

Методът на използване на този обект в VBA е следният.

Application.FIledialog (Filedialog Type)

Тип FileDialog може да бъде всеки от горните четири типа. Сега нека използваме този обект в примери, за да научим по-ясно за това свойство на обект.

Как да използвате Excel VBA FileDialog?

По-долу са различните примери за използване на FileDialog в Excel, използвайки VBA код.

Можете да изтеглите този шаблон на VBA FileDialog Excel тук - VBA FileDialog Excel шаблон

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

Първо, нека помогнем на потребителя да избере файл от дестинация. В този пример, потребителят ще избере файл от папката и ще покажем пътя за избрания файл.

Следвайте стъпките по-долу, за да използвате excel VBA FileDialog:

Стъпка 1: Отидете на раздела Developers и кликнете върху Visual Basic.

Стъпка 2: Отворете модул от опцията за меню Вмъкване, както е показано по-долу.

Стъпка 3: Стартирайте подпроцедурата, за да започнете да работите на пример.

Код:

 Sub SelectFile () Край на Sub 

Стъпка 4: Декларирайте променлива като Filedialog, както е показано по-долу.

Код:

 Sub SelectFile () Dim File като FileDialog End Sub 

Стъпка 5: Сега нека използваме този обект от метода Application.Filedialog, както следва.

Стъпка 6: След като отворим скобите можем да видим опцията за четири типа FileDialog, както е показано на изображението по-долу.

Стъпка 7: Изберете опцията за тип Filedialog като msoFileDialogFilePicker

Код:

 Sub SelectFile () Dim File като FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) End Sub 

Стъпка 8: Сега трябва да направим диалоговия прозорец за този пример, нека използваме с Statement както следва.

Код:

 Sub SelectFile () Dim File като FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) С край на файла с End Sub 

Стъпка 9: Ако има някакви филтри, ние трябва да изчистим филтрите, поставете изявление на точка и напишете изявлението, както е показано по-долу.

Код:

 Sub SelectFile () Dim File като FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) с файл .Filters.Clear End с край Sub 

Стъпка 10: Сега искаме ли потребителят да избира няколко файла наведнъж или един файл? За този пример нека се придържаме към отделния файл наведнъж, така че използвайте .Allowmultiselect като невярна.

Код:

 Sub SelectFile () Dim File като FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) С File .Filters.Clear .AllowMultiSelect = False End With End Sub 

Стъпка 11: Сега, за да покажем диалоговия прозорец, който можем да напишем .show да покаже диалоговия прозорец, както следва.

Код:

 Sub SelectFile () Dim File като FileDialog Set File = Application.FileDialog (msoFileDialogFilePicker) с файл .Filters.Clear .AllowMultiSelect = False. Показване на край с край Sub 

Стъпка 12: След като изпълним горния код, можем да видим диалоговия прозорец, както следва.

Стъпка 13: Тъй като трябва да покажем избрания потребителски път, декларираме друга променлива като низ в кода.

Код:

 Sub SelectFile () Dim File като FileDialog Dim Path As String Set File = Application.FileDialog (msoFileDialogFilePicker) с файл .Filters.Clear .AllowMultiSelect = False. Показване на край с край Sub 

Стъпка 14: Ще използваме оператор selectitems, за да намерим пътя за избрания от потребителя файл и да го съхраним в нашата променлива, както следва.

Код:

 Sub SelectFile () Dim File като FileDialog Dim Path като String Set File = Application.FileDialog (msoFileDialogFilePicker) с файл .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End with End Sub 

Стъпка 15: След With Statement използвайте функцията msgbox, за да покажете адреса на избрания файл.

Код:

 Sub SelectFile () Dim File като FileDialog Dim Path като String Set File = Application.FileDialog (msoFileDialogFilePicker) с файл .Filters.Clear .AllowMultiSelect = False .Show Path = .SelectedItems (1) End with MsgBox Path 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, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs). Show End Sub 

Стъпка 4: Сега използвайте изявлението IF, за да определите избора на потребителя, както следва.

Код:

 Sub SaveFile () Dim Choice като цяло число, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs). Покажете, ако избор 0, тогава прекратете Sub 

Стъпка 5: Сега нека да изберем пътя, избран от потребителя в нашата променлива на пътя, както следва.

Код:

 Sub SaveFile () Dim Choice As Integer, Path As String Choice = Application.FileDialog (msoFileDialogSaveAs) .Покажете ако Choice 0 тогава 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 тогава Path = Application.FileDialog (msoFileDialogSaveAs) .SelectedItems (1) MsgBox Path End Ако End Sub 

Стъпка 7: Сега изпълнете горния код и вижте резултата, той отваря диалогов прозорец, за да запазите файла.

Стъпка 8: Дайте име на файл и натиснете Save, ще ни даде пътя за файла, както следва.

Неща, които трябва да запомните

  • FileDialog е свойство на обект на VBA.
  • Не е необходимо да определяме пътя към кода, използвайки този обект.
  • С помощта на оператора на точки можем да видим и използваме свойствата на IntelliSense на обекта.

Препоръчителни статии

Това е ръководство за VBA FileDialog. Тук обсъждаме как да използвате FileDialog обект в Excel, използвайки VBA код, заедно с някои практически примери и изтеглящ се шаблон на excel. Можете да разгледате и другите ни предложени статии -

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

Категория: