VBA pozwala wybrać plik do otwarcia za pomocą Application.GetOpenFilename metoda. W tym samouczku dowiesz się, jak otworzyć okno dialogowe pliku i ustawić parametry.
Jeśli chcesz dowiedzieć się, jak otwierać i zamykać plik, możesz kliknąć ten link: VBA Otwórz / zamknij plik
Otwórz okno dialogowe pliku w VBA
Jeśli chcesz otworzyć plik w VBA, najpierw musisz otworzyć okno dialogowe pliku, aby wybrać plik. Oto kod:
123 | Dim strFile As StringstrFile = Application.GetOpenFilename( |
Jak widać, metoda ma kilka parametrów. Filtr plików umożliwia filtrowanie typów plików, których potrzebujesz, w naszym przypadku plików .xlsx.
w Tytuł parametr, możesz ustawić tytuł okna dialogowego. Jeśli chcesz zezwolić na otwieranie wielu plików, musisz ustawić Wielokrotny wybór do Prawdy. Jeśli nie ustawisz tego parametru, można wybrać tylko jeden plik.
Obraz 1. Otwórz okno dialogowe pliku
Jak widać na obrazku 1, pojawi się okno dialogowe z tytułem Wybierz plik Excel. Filtrowane są tylko pliki Excela i możemy wybrać wiele plików.
Otwórz okno dialogowe pliku w określonym folderze
Jeśli chcesz otworzyć okno dialogowe w określonym folderze, musisz użyć metody .Okno pliku z parametrem msoFileDialogFilePicker. W tym przykładzie otworzymy okno dialogowe w folderze C:\Folder VBA. Oto kod:
123456789101112131415161718192021 | Dim fd jako Office.FileDialogDim strFile As StringUstaw fd = Application.FileDialog(msoFileDialogFilePicker)z fd.Filtry.Wyczyść.Filtry.Dodaj "Pliki Excela", "*.xlsx?", 1.Title = "Wybierz plik Excela".AllowMultiSelect = Fałsz.InitialFileName = "Folder C:\VBA"Jeśli .Show = True WtedystrFile = .SelectedItems(1)Zakończ, jeśliKończyć z |
Najpierw musisz zadeklarować zmienną fd rodzaj Okno dialogowe pliku Office oraz zmienna string do pobierania pliku:
12 | Dim fd jako Office.FileDialogDim strFile As String |
Następnie musisz ustawić fd do Application.FileDialog(msoFileDialogFilePicker):
1 | Ustaw fd = Application.FileDialog(msoFileDialogFilePicker) |
Teraz w ciągu Z fd Koniec z, możemy ustawić wiele parametrów:
1234567 | .Filtry.Wyczyść.Filtry.Dodaj "Pliki Excela", "*.xlsx?", 1.Title = "Wybierz plik Excela".AllowMultiSelect = Fałsz |
Tutaj usuwamy filtry plików (.Filtry.Wyczyść) i ustaw go na .xlsx (.Filters.Add „Excel Files”, „*.xlsx?”, 1).
Możemy również ustawić tytuł okna dialogowego: .Title = „Wybierz plik Excel”.
Możemy ograniczyć użytkownika do wyboru tylko jednego pliku poprzez: .AllowMultiSelect = Fałsz
Aby otworzyć okno dialogowe w wybranym folderze, musimy umieścić ten wiersz kodu:
1 | .InitialFileName = "Folder C:\VBA" |
Na koniec po prostu otworzymy okno dialogowe ze wszystkimi wcześniej ustawionymi parametrami:
12345 | Jeśli .Show = True WtedystrFile = .SelectedItems(1)Zakończ, jeśli |
Kiedy wykonamy ten kod, w folderze pojawi się okno dialogowe otwierania pliku C:\Folder VBA:
Obraz 2. Otwórz okno dialogowe pliku w określonym folderze