VBA GetOpenFilename | Как да използвам метода GetOpenFilename във VBA?

GetOpenFilename е метод, който е и атрибут на FSO, този метод се използва във VBA, за да се намери определен файл с име на файл и да се избере, важният фактор при този метод е пътят на името на файла, предоставен за отварянето му, ние може да предаде пътя на името на файла във функцията или да помолим потребителя да представи път на файл, за да го избере.

Приложение на Excel VBA.GetOpenFilename

Има ситуации, в които трябва да получим достъп до конкретното име на файл и това може да бъде възможно с VBA кодиране. За да получим достъп до файла, трябва да споменем и пътя до папката и името на файла, заедно с неговото разширение. За да получат името на файла, много кодери ще дадат полето за въвеждане на VBA като опции за въвеждане на пътя на файла и името на файла. Но това не е добър вариант за практикуване, защото когато представите поле за въвеждане пред потребителя, той не винаги помни пътя на файла, наклонени черти, за да отдели една папка от друга папка, имена на файлове и разширение на файловете . Това прави входа, даден от потребителя, по-бърз и накрая всичко ще бъде объркано, дори ако има грешка с малък интервал. Най-добрият начин е да замените полето за въвеждане с метода на VBA, наречен „GetOpenFileName“.

В тази статия ще ви покажем как да използвате VBA GetOpenFileName, за да получите името на файла без никакви грешки.

Какво прави GetOpenFilename в Excel VBA?

VBA “GetOpenFileName” позволява на потребителя да избере файла от компютъра, върху който работим, без да отваря файла.

С помощта на метода “GetOpenFileName” можем действително да представим диалогов прозорец пред потребителя, за да изберете файла в необходимата папка. “GetOpenFileName” ще копира местоположението на файла заедно с името на файла и разширението на файла.

Синтаксис на GetOpenFilename в Excel VBA

Разгледайте синтаксиса на метода “GetOpenFilename”.

  • Файлов филтър: В този аргумент можем да посочим какъв вид файлове да се показват, за да ги изберете. Например, ако споменете „Файлове на Excel, *. Xlsx“, той ще покаже само Файлове на Excel, записани с разширението на Excel „xlsx“, няма да бъдат показани други файлове. Ако пренебрегнете всички видове файлове ще бъдат показани.
  • Индекс на филтъра: С това ограничаваме потребителя да избира типа на файла. Можем да посочим броя филтри, които да се виждат под File Filter.
  • Заглавие: Показва заглавието на диалоговия прозорец за избор на файл.
  • Текст на бутона: Това е само за Macintosh.
  • Multi-Select: TRUE, ако искате да изберете множество файлове, или FALSE. Стойността по подразбиране е FALSE.

Пример за GetOpenFilename в Excel VBA

По-долу са примерите за VBA Application.GetOpenFilename.

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

Нека напишем код, за да получим името на файла и адреса на пътя.

Стъпка 1: Стартирайте подпрограмата.

Код:

 Sub GetFile_Example1 () Край Sub 

Стъпка 2: Декларирайте променлива като String.

Код:

 Sub GetFile_Example1 () Dim FileName като низ Край Sub 

Стъпка 3: За тази променлива ще присвоим GetOpenFileName.

Код:

 Sub GetFile_Example1 () Dim FileName като низ FileName = Application.GetOpenFilename () End Sub 

Към момента игнорирах всички параметри.

Стъпка 4: Сега покажете резултата от променливата в полето за съобщения.

Код:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename () MsgBox FileName End Sub 

Сега стартирайте кода чрез прекия клавиш на Excel F5 или ръчно, той ще покаже диалоговия прозорец по-долу, за да изберете файла.

Ще избера всеки един файл и щракнете върху ok.

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

Както виждаме в горното изображение, можем да видим всички видове файлове. Сега ще добавя първия параметър, т.е. Файлов филтър като „Файлове на Excel, *. Xlsx“.

Код:

 Sub GetFile_Example1 () Dim FileName As String FileName = Application.GetOpenFilename (FileFilter: = "Excel Files, *. Xlsx") MsgBox FileName End Sub 

Сега, ако стартирам този код с помощта на клавиша F5 или ръчно, ще виждам само файлове на Excel с разширение „xlsx“.

По този начин можем да използваме метода “VBA Application.GetOpenFileName”, за да получим пътя до папката заедно с Име на файла и разширение на файла.