Excel VBA GetOpenFileName

Istnieje wiele sposobów otwierania dowolnego pliku. Ale istnieje również wiele sposobów otwarcia tego samego pliku. W VBA mamy różne funkcje, za pomocą których możemy otworzyć dowolny plik. Możemy otworzyć plik, umieszczając ścieżkę pliku w kodzie VBA, możemy nawet nagrać ten proces. Ale najlepszym sposobem jest otwarcie dowolnego pliku w VBA przy pomocy aplikacji VBA GetOpenFileName . Jak sama nazwa wskazuje, jest on przeznaczony wyłącznie do aplikacji po otwarciu dowolnego pliku w VBA.

W innych funkcjach lub aplikacjach, które działają na tej samej zasadzie, może być konieczne skopiowanie pliku oddzielonego odwrotnym ukośnikiem, zachowując nazwę folderu i dokładne odstępy między odwrotnym ukośnikiem. Ponadto może być konieczne podanie dokładnej nazwy pliku wraz z rozszerzeniem, które chcemy otworzyć. Ale w VBA GetOpenFileName wystarczy wybrać plik z lokalizacji. To da pole, z którego możemy przeglądać plik, w którym jest przechowywany, a rozszerzenie pliku również zostanie naprawione.

Składnia GetOpenFilename w VBA

Spójrzmy poniżej wzoru na GetOpenFilename w Excel VBA.

Poniżej znajduje się argument aplikacji VBA GetOpenFileName.

  • FileFilter - W tym możemy zdefiniować, jaki rodzaj pliku chcemy zobaczyć. Na przykład, jeśli wspomnimy „Pliki Excel, *. Xlsx”, wówczas znajdzie i wyświetli wszystkie pliki Excela w formacie .xlsx. Jeśli wspomnimy o „plikach PDF, *. Pdf”, znajdzie i wyświetli tylko wszystkie pliki pdf.
  • FilterIndex - W ten sposób możemy pozwolić użytkownikowi ograniczyć wybór typu pliku. Możemy określić liczbę plików, które musimy pokazać.
  • Tytuł - pokazuje wybrany plik w tytule okna dialogowego.
  • ButtonText - tylko dla użytkowników komputerów MacBook.
  • MultiSelect - Jeśli wybieramy wiele plików, będzie to PRAWDA lub też FALSE, która i tak jest wartością domyślną.

Jak otworzyć plik za pomocą GetOpenFileName w programie Excel VBA?

Poniżej znajdują się różne przykłady otwierania pliku za pomocą aplikacji GetOpenFileName w programie Excel VBA.

Możesz pobrać ten szablon Excela VBA GetOpenFileName tutaj - Szablon Excela VBA GetOpenFileName

Excel VBA GetOpenFileName - przykład nr 1

W tym przykładzie zobaczymy, jak najpierw otworzyć plik programu Excel. Wykonaj poniższe kroki, aby użyć GetOpenFileName w Excel VBA:

Krok 1: Przejdź do menu Wstaw i kliknij Moduł, aby go otworzyć.

Krok 2: Napisz podkategorię VBA Getopenfilename lub wybierz dowolną inną nazwę zgodnie z wyborem, aby zdefiniować podkategorię.

Kod:

 Sub OpenFile () End Sub 

Krok 3: Teraz zdefiniuj zmienną i nadaj jej Ciąg, jak pokazano poniżej. Wybór ciągu, ponieważ będziemy wybierać lub wybierać nazwę pliku.

Kod:

 Sub OpenFile () Dim A As String End Sub 

Krok 4: Teraz w zdefiniowanej zmiennej A użyj aplikacji, jak pokazano poniżej.

Krok 5: Teraz wyszukaj i wybierz GetOpenFileName z aktywowanej listy aplikacji, jak pokazano poniżej.

Krok 6: Teraz użyj MsgBox, aby uzyskać lokalizację wybranego pliku.

Kod:

 Sub OpenFile () Dim A As String A = Application.GetOpenFilename () MsgBox A End Sub 

Krok 7: Teraz skompiluj kod, naciskając klawisz funkcyjny F5 i uruchom go, klikając przycisk Odtwórz. Teraz przejrzyj plik, który chcemy wybrać. Tutaj poszliśmy ścieżką i wybraliśmy plik programu Excel o nazwie Plik testowy, który zwykle ma format .xlsx . Kliknij Otwórz.

Wyświetli ścieżkę tego pliku, który wcześniej wybraliśmy, do okna komunikatu, jak pokazano poniżej.

Krok 8: Teraz zgodnie ze składnią użyjemy Filefiltera w nawiasach aplikacji GetOpenFilename. Jak wiemy, służy on do wyboru typu pliku, który chcemy otworzyć. Dlatego umieścimy dla niego „Pliki Excel”, jak pokazano poniżej.

Kod:

 Sub OpenFile () Dim A As String A = Application.GetOpenFilename (Filefilter: = „Pliki Excel”) MsgBox A End Sub 

Krok 9: Teraz umieść rozszerzenie pliku Excel, który wybraliśmy wcześniej. Był to „ .xlsx ”, więc też zachowamy to w FileFilter.

Kod:

 Sub OpenFile () Dim A As String A = Application.GetOpenFilename (Filefilter: = "Pliki Excel, * .xlsx") MsgBox A End Sub 

Krok 10: Teraz ponownie uruchomimy cały kod. W folderze przeglądania otrzymamy tylko pliki Excel, które są dostępne w tym folderze, który wcześniej przeglądaliśmy.

A jeśli spróbujemy zobaczyć inny format pliku lub rozszerzenie w plikach Excel, ponownie wyświetli tylko pliki Excel.

Excel VBA GetOpenFileName - Przykład # 2

W ten sam sposób możemy otworzyć nazwę pliku z rozszerzeniem „ .pdf ”. Wykonaj poniższe kroki, aby użyć GetOpenFileName w Excel VBA:

Krok 1: Teraz ponownie napisz kod, który widzieliśmy w przykładzie 1.

Kod:

 Sub OpenFile1 () Dim A As String A = Application.GetOpenFilename () MsgBox A End Sub 

Krok 2: Zabierze nas do tego samego okna lub przejdzie do tego samego folderu. Teraz wybierz dowolny plik PDF i kliknij Otwórz.

Da nam ścieżkę do wybranego pliku.

Krok 3: Teraz, aby uzyskać wybrany plik PDF, w składni FileFilter napisz „Pliki PDF” zamiast „Pliki Excel” i wybierz rozszerzenie PDF, które ma postać „ .pdf ”, jak pokazano poniżej.

Kod:

 Sub OpenFile1 () Dim A As String A = Application.GetOpenFilename (Filefilter: = "Pliki PDF, * .pdf") MsgBox A End Sub 

Krok 4: Ponownie skompiluj kod i uruchom go. Otrzymamy folder przeglądarki, aby otworzyć pliki. W ten sposób otrzymamy tylko pliki z rozszerzeniem „ .pdf ”, jak pokazano poniżej.

A jeśli spróbujemy przefiltrować inne formaty plików, ponownie pozwoli nam zobaczyć tylko pliki PDF, jak pokazano poniżej.

A jeśli nie wybieramy żadnego pliku i nie wyjdziemy z okna, wyświetli się domyślny komunikat, który jest fałszywy .

Plusy Excel VBA GetOpenFileName

  • VBA GetOpenFileName pomaga nam bezpośrednio otworzyć plik bez wklejania ścieżki tego pliku w kodzie VBA.
  • Nie musimy wielokrotnie zmieniać ścieżki plików.
  • Przeglądanie i wybieranie plików przez to jest tak proste, jak przejście do tego folderu, aby go otworzyć.

Wady Excel VBA GetOpenFileName

  • Musimy zmienić rozszerzenie pliku, który chcemy otworzyć, jeśli nastąpi zmiana.

Rzeczy do zapamiętania

  • Zmień rozszerzenie pliku, ilekroć musisz otworzyć inną wersję pliku.
  • Skrzynka wiadomości z komunikatem FAŁSZ jest domyślną wiadomością, która pojawia się za każdym razem, gdy nie wybieramy żadnego pliku do otwarcia.
  • Tego rodzaju procesu nie można utworzyć za pomocą funkcji Record Macro.
  • Pamiętaj, aby zapisać plik w formacie Excel z włączoną obsługą makr. Aby zapisany kod VBA został zachowany.

Polecane artykuły

To jest przewodnik po VBA GetOpenFileName. Tutaj omawiamy, jak otworzyć plik za pomocą aplikacji GetOpenFileName w programie Excel za pomocą kodu VBA, a także kilka praktycznych przykładów i szablonu programu Excel do pobrania. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. VBA Znajdź i zamień (przykłady)
  2. Grupowe arkusze robocze w programie Excel
  3. Skoroszyt VBA
  4. Odwołania do komórek w programie Excel

Kategoria: