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 GetOpenFileNameExcel 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 -
- VBA Znajdź i zamień (przykłady)
- Grupowe arkusze robocze w programie Excel
- Skoroszyt VBA
- Odwołania do komórek w programie Excel