VBA GetOpenFilename - Jak korzystać z metody GetOpenFilename w VBA?

GetOpenFilename to metoda, która jest również atrybutem FSO, ta metoda jest używana w VBA do znalezienia określonego pliku z nazwą pliku i wybrania go, ważnym czynnikiem w tej metodzie jest ścieżka do nazwy pliku podana do jego otwarcia, my możemy albo przekazać ścieżkę do nazwy pliku w funkcji, albo możemy poprosić użytkownika o przedstawienie ścieżki do pliku, aby go wybrać.

Aplikacja Excel VBA. GetOpenFilename

Są sytuacje, w których musimy uzyskać dostęp do określonej nazwy pliku, a może to być możliwe dzięki kodowaniu VBA. Aby uzyskać dostęp do pliku, musimy również podać ścieżkę do folderu oraz nazwę pliku wraz z jego rozszerzeniem. Aby uzyskać nazwę pliku, wielu programistów poda pole wejściowe VBA jako opcje do wprowadzenia ścieżki pliku i nazwy pliku. Ale to nie jest dobra opcja do ćwiczenia, ponieważ kiedy przedstawiasz pole wejściowe przed użytkownikiem, nie zawsze pamiętają ścieżkę pliku, ukośniki odwrotne oddzielające jeden folder od innego folderu, nazwy plików i rozszerzenia plików . To sprawia, że ​​dane wejściowe podane przez użytkownika są bardziej bałaganiarskie, a na końcu wszystko zostanie schrzanione, nawet jeśli wystąpi mały błąd znaku spacji. Najlepszym sposobem jest zastąpienie pola wprowadzania metodą VBA o nazwie „GetOpenFileName”.

W tym artykule pokażemy, jak używać VBA GetOpenFileName, aby uzyskać nazwę pliku bez żadnych błędów.

Co robi GetOpenFilename w Excel VBA?

VBA „GetOpenFileName” pozwala użytkownikowi wybrać plik z komputera, na którym pracujemy, bez otwierania pliku.

Za pomocą metody „GetOpenFileName” możemy w rzeczywistości przedstawić użytkownikowi okno dialogowe umożliwiające wybranie pliku w wymaganym folderze. „GetOpenFileName” skopiuje lokalizację pliku wraz z nazwą pliku i rozszerzeniem.

Składnia GetOpenFilename w Excel VBA

Spójrz na składnię metody „GetOpenFilename”.

  • Filtr plików: W tym argumencie możemy określić, jakie pliki mają być wyświetlane, aby wybrać. Na przykład, jeśli wspomnisz „Pliki programu Excel, *. Xlsx”, wyświetlą się tylko pliki programu Excel zapisane z rozszerzeniem programu Excel „xlsx”. Żadne inne pliki nie będą wyświetlane. Jeśli zignorujesz wszystkie rodzaje plików, zostaną wyświetlone.
  • Indeks filtru: w ten sposób ograniczamy użytkownikowi wybór typu pliku. Możemy wyszczególnić liczbę filtrów, które mają być widoczne pod Filtrem plików.
  • Tytuł: Pokazuje tytuł okna dialogowego wyboru pliku.
  • Tekst przycisku: dotyczy tylko komputerów Macintosh.
  • Wybór wielokrotny: TRUE, jeśli chcesz wybrać wiele plików, lub FALSE. Wartość domyślna to FALSE.

Przykład GetOpenFilename w Excel VBA

Poniżej znajdują się przykłady VBA Application.GetOpenFilename.

Napiszmy kod, aby uzyskać nazwę pliku i adres ścieżki.

Krok 1: Uruchom podprogram.

Kod:

Sub GetFile_Example1 () End Sub

Krok 2: Zadeklaruj zmienną jako ciąg.

Kod:

Sub GetFile_Example1 () Dim FileName As String End Sub

Krok 3: dla tej zmiennej przypiszemy GetOpenFileName.

Kod:

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

Jak na razie zignorowałem wszystkie parametry.

Krok 4: Teraz pokaż wynik zmiennej w oknie komunikatu.

Kod:

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

Teraz uruchom kod za pomocą klawisza skrótu programu Excel F5 lub ręcznie, wyświetli się poniższe okno dialogowe, aby wybrać plik.

Zaznaczę dowolny plik i kliknę OK.

Jak tylko wybiorę plik, pojawiło się okno komunikatu w VBA w ten sposób. Pokazuje pełną ścieżkę do folderu i wybraną nazwę pliku programu Excel wraz z rozszerzeniem pliku.

Jak widać na powyższym obrazku, mogliśmy zobaczyć wszystkie rodzaje plików. Teraz dodam pierwszy parametr, tj. Filtr plików jako „Pliki Excel, *. Xlsx”.

Kod:

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

Teraz, jeśli uruchomię ten kod za pomocą klawisza F5 lub ręcznie, zobaczę tylko pliki Excela z rozszerzeniem „xlsx”.

W ten sposób możemy użyć metody „VBA Application.GetOpenFileName”, aby uzyskać ścieżkę folderu wraz z nazwą pliku i rozszerzeniem pliku.

Interesujące artykuły...