Jak otworzyć skoroszyt z nazwą zmiennej w Excelu VBA

  • Udostępnij To
Hugh West

Oczywiście, możemy potrzebować otworzyć plik z nadrzędnego pliku Excel za pomocą VBA w innym katalogu.Ale w tym samym czasie, mamy różnego rodzaju kryteria również o tym, jak chcemy otworzyć skoroszyt.Jeśli jesteś ciekawy, jak można otworzyć skoroszyt ze zmienną nazwą, to ten artykuł może się przydać dla Ciebie.W tym artykule, omawiamy, jak można otworzyć skoroszyt ze zmienną nazwąwykorzystanie VBA w Excelu z rozbudowanymi wyjaśnieniami.

Pobierz Zeszyt ćwiczeń

Pobierz ten zeszyt ćwiczeń poniżej.

Otwórz skoroszyt z nazwą zmiennej używając VBA.xlsm

Przykład.xlsx

4 proste sposoby na otwarcie skoroszytu z nazwą zmiennej przy użyciu VBA w Excelu

Do demonstracji użyjemy poniższego zbioru danych, w którym mamy informacje o kilku produktach wraz z ich Id. jest to przykładowy plik, który zamierzamy otworzyć za pomocą kodu VBA.

1) Użycie właściwości Workbook.Open

Używanie Workbook.Open możemy otwierać pliki podając katalog, lub nie podając lokalizacji. Możemy również sprawić, że otwarty plik będzie tylko do odczytu.

1.1 Otwieranie skoroszytu z podaniem ścieżki do pliku

W następnej metodzie użyjemy Workbook.Open Właściwość aby otworzyć plik bezpośrednio z wymienionego katalogu lokalizacji plików. Bez względu na to, gdzie znajduje się plik, możemy go łatwo otworzyć.

Kroki

  • W folderze documents mamy zapisany plik, który musimy otworzyć.
  • Użyjemy nazwy pliku jako zmiennej, a następnie otworzymy plik za pomocą małego makra VBA.
  • Dokładny katalog pliku jest pokazany poniżej w oknie właściwości.

  • Najpierw przejdź do Deweloper i kliknij na Visual Basic Jeśli tego nie masz, musisz włączyć zakładkę Deweloper Możesz też nacisnąć ' Alt+F11 za otwarcie Edytor Visual Basic .

  • Pojawi się nowe okno dialogowe, w którym należy kliknąć na Wkładka > Moduł .

  • Następnie, w Moduł W oknie edytora wpisz następujący kod:
 Sub Open_with_File_Path() Dim Open_File As String: File_path = "C:\NPrzykładowe dokumenty" Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:=File_path) End Sub. 

  • Następnie zamknij Moduł okno.
  • Następnie należy przejść do Zobacz tab> Makra .
  • Następnie kliknij na Wyświetlanie makr .

  • Po kliknięciu Wyświetl makra, wybierz makra, które stworzyłeś przed chwilą. Nazwa tutaj to Open_with_File_Path Następnie kliknij Uruchom .

  • Po czym Przykładowa strona plik zostanie otwarty.

🔎 Podział kodu

 Sub Open_with_File_Path() 

⮚ Najpierw nadajemy nazwę dla podprocedury, która brzmi Open_with_File_Path .

 

⮚ Następnie umieszczamy lokalizację pliku w. Plik_ścieżka zmienna

 Dim wrkbk As Workbook 

⮚ Następnie deklarujemy naszą zmienną wrkbk , którego typem jest skoroszyt.

 Set wrkbk = Workbooks.Open(Filename:=File_path) 

⮚ Następnie otwieramy plik o nazwie w. File_Path zmienną katalogową i ustawić plik jako wrkbk zmienny.

 End Sub 

⮚ Na koniec kończymy podprocedurę tego kodu.

Read More: Jak otworzyć skoroszyt ze ścieżki za pomocą Excel VBA (4 przykłady)

1.2 Otwieranie skoroszytu bez podawania ścieżki do pliku

W kolejnej metodzie otworzymy plik z folderu nadrzędnego, w którym zapisany jest plik główny. Plik można otworzyć bez podawania w kodzie jakiejkolwiek lokalizacji. Plik ten musi po prostu znajdować się w tym samym folderze co folder nadrzędny.

Kroki

  • Mamy inny plik zapisany w tym samym katalogu, w którym teraz zapisany jest macierzysty plik Excela.
  • Nazwa pliku to 1.

  • Najpierw przejdź do Deweloper i kliknij na Visual Basic Jeśli tego nie masz, musisz włączyć zakładkę Deweloper Można też nacisnąć przycisk ' Alt+F11 ' w celu otwarcia Edytor Visual Basic .

  • Pojawi się nowe okno dialogowe, w którym należy kliknąć na Wkładka > Moduł .

  • Następnie, w Moduł W oknie edytora wpisz następujący kod:
 Sub Open_without_File_Path() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:="1.xlsx") End Sub. 

  • Następnie zamknij Moduł okno.
  • Następnie należy przejść do Zobacz tab> Makra .
  • Następnie kliknij na Wyświetlanie makr .

  • Po kliknięciu View Macros, wybierz utworzone przed chwilą makra, których nazwa brzmi Open_without_File_Path Następnie kliknij przycisk Uruchom.

  • Po naciśnięciu Uruchom , zauważysz, że plik o nazwie 1 jest teraz otwarty.
  • I tak właśnie otwieramy skoroszyt o zmiennej nazwie za pomocą VBA w Excelu.

🔎 Podział kodu

 Sub Open_without_File_Path() 

⮚ Najpierw nadajemy nazwę dla podprocedury, która brzmi Sub Open_without_File_Path()

 Dim wrkbk As Workbook 

⮚ Oświadczamy wrkbk jako zmienna typu Workbook

 Set wrkbk = Workbooks.Open(Filename:="1.xlsx") 

⮚ Otwieramy plik z katalogu nadrzędnego o nazwie 1.xlsx .

 End Sub 

⮚ Na koniec kończymy podprocedurę tego kodu.

1.3 Otwieranie skoroszytu tylko do odczytu

Metoda jest dość podobna do pierwszej metody, ale tutaj otworzymy plik w trybie tylko do odczytu, co oznacza, że nie będziemy mogli zmienić żadnych danych ani wartości w pliku Excela.

Kroki

  • Plik, który chcemy otworzyć, jest zapisany w folderze dokumentów.
  • I to jest ten plik, który chcemy otworzyć jako tylko do odczytu.

  • Po pierwsze, przejdź do Deweloper i kliknij na Visual Basic Jeśli tego nie masz, musisz włączyć zakładkę Deweloper Możesz też nacisnąć ' Alt+F11 ' dla otwarcia edytora Visual Basic.

  • Pojawi się nowe okno dialogowe, w którym należy kliknąć na Wkładka > Moduł .

  • Następnie, w Moduł W oknie edytora wpisz następujący kod:
 Sub Open_with_File_Read_Only() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open("C:\u2007, ReadOnly:=True) End Sub 
  • Następnie zamknij Moduł okno.
  • Następnie należy przejść do Zobacz tab> Makra .
  • Następnie kliknij na Wyświetlanie makr .

  • Po kliknięciu View Macros, wybierz utworzone przed chwilą makra, których nazwa brzmi Open_with_File_Read_Only Następnie kliknij Uruchom .

  • Po kliknięciu Uruchom , zobaczymy, że plik jest teraz otwarty jako tylko do odczytu, co widać na pasku tytułowym.

🔎 Podział kodu

 Sub Open_with_File_Read_Only() 

⮚ Najpierw nadajemy nazwę dla podprocedury, która brzmi Open_with_File_Read_Only()

 Dim wrkbk As Workbook 

⮚ Oświadczamy wrkbk jako zmienna w typie Workbook

 

⮚ Plik zostanie wtedy otwarty ze wskazanego katalogu, a w pliku zostanie ustawiony tylko do odczytu przez ostatni argument.

 End Sub 

⮚ Na koniec kończymy podprocedurę tego kodu.

Read More: Jak otworzyć skoroszyt tylko do odczytu za pomocą VBA w Excelu?

2) Używanie skrzynki wiadomości

Prawie podobnie jak w poprzedniej metodzie, możemy otwierać pliki poprzez kod VBA tutaj w Excelu, ale w tym przypadku włączymy tutaj małe okienko komunikatu.

Kroki

  • Najpierw przejdź do Deweloper i kliknij na Visual Basic Jeśli tego nie masz, musisz włączyć zakładkę Deweloper Można też nacisnąć przycisk ' Alt+F11 za otwarcie Edytor Visual Basic .

  • Pojawi się nowe okno dialogowe, w którym należy kliknąć na Wkładka > Moduł .

  • Następnie, w Moduł W oknie edytora wpisz następujący kod:
 Sub Open_File_with_Messege_Box() Dim path As String: path = "C:\NPrzykład.xlsx" If Dir(path) "" Then Workbooks.Open (path) MsgBox "Plik został otwarty pomyślnie" Else MsgBox "Otwarcie pliku nie powiodło się" End If End Sub. 

  • Następnie zamknij Moduł okno.
  • Następnie należy przejść do Zobacz tab> Makra .
  • Następnie kliknij na Wyświetlanie makr .

  • Po kliknięciu Wyświetl makra, wybierz makra, które stworzyłeś przed chwilą. Nazwa tutaj to Open_File_with_Messege_Box Następnie kliknij Uruchom .

  • Następnie pojawiło się okienko ostrzegawcze, które pokazuje, że Plik został otwarty pomyślnie .
  • Następnie kliknij OK .

  • I wtedy zobaczymy, że plik jest już otwarty.

  • A potem próbujemy nieco zmienić kod.
  • Zmieniamy nazwę pliku na Próbka10 a w rzeczywistości nie ma pliku o nazwie Próbka10 w folderze dokumentów.

  • Wtedy my Uruchom Ponownie wpisujemy kod i pojawia się okno z komunikatem o treści Otwarcie pliku nie powiodło się .
  • Kliknij OK po tym.

🔎 Podział kodu

 Sub Otwórz_pliki_z_Messege_Box() 

⮚ Najpierw nadajemy nazwę dla podprocedury, która brzmi Open_with_File_Read_Only()

 Dim path As String: 

⮚ Oświadczamy wrkbk jako zmienna w typie Workbook

 If Dir(path) "" Then Workbooks.Open (path) 
 MsgBox "Plik został otwarty pomyślnie" Else 

⮚ Ta linia sprawdzi, czy plik o nazwie Sample jest dostępny w katalogu, czy nie, Jeśli plik istnieje, to otworzy go i jednocześnie wyświetli komunikat.

 MsgBox "Otwarcie pliku nie powiodło się" 

⮚ Jeśli nie ma pliku o nazwie Przykładowa strona w katalogu, to ta wiadomość zostanie dostarczona.

 End If 

⮚ Na koniec kończymy podprocedurę tego kodu.

 End Sub 

⮚ Na koniec kończymy podprocedurę tego kodu.

Read More: Jak otworzyć skoroszyt i uruchomić makro za pomocą VBA (4 przykłady)

3. użycie okna dialogowego do otwarcia pliku

Wyodrębnianie katalogu lokalizacji plików i importowanie ich za każdym razem w kodzie VBA jest dość kłopotliwe. Aby rozwiązać ten problem, pokażemy, jak można użyć okna dialogowego do wyboru pliku z dowolnego katalogu.

Kroki

  • Teraz otworzymy plik za pomocą okna dialogowego eksploratora plików.
  • Po pierwsze, przejdź do Deweloper i kliknij na Visual Basic Jeśli tego nie masz, musisz włączyć zakładkę Deweloper Można też nacisnąć przycisk ' Alt+F11 za otwarcie Edytor Visual Basic .

  • Pojawi się nowe okno dialogowe, w którym należy kliknąć na Wkładka > Moduł .

  • Następnie, w Moduł W oknie edytora wpisz następujący kod:
 Sub Open_File_with_Dialog_Box() Dim Dbox As FileDialog Dim File_Path As String Dim wrkbk As Workbook Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Wybierz i otwórz " & FileType Dbox.Filters.Clear Dbox.Show If Dbox.SelectedItems.Count = 1 Then File_Path = Dbox.SelectedItems(1) End If Set wrkbk = Workbooks.Open(Filename:=File_Path) End Sub. 
  • Następnie zamknij Moduł okno.
  • Następnie należy przejść do Zobacz tab> Makra .
  • Następnie kliknij na Wyświetlanie makr .

  • Po kliknięciu Wyświetl makra, wybierz makra, które stworzyłeś przed chwilą. Nazwa tutaj to Open_File_with_Dialog_Box Następnie kliknij Uruchom .

  • Otworzy się nowe okno. W oknie dialogowym eksploratora plików i wybierz Przykładowa strona i kliknąć OK .

  • Następnie plik o nazwie Przykładowa strona otwarty.
  • I tak właśnie otwieramy skoroszyt o zmiennej nazwie za pomocą VBA w Excelu.

🔎 Podział kodu

 Sub Otwórz_pliki_z_Dialogiem_Box() 

⮚ Najpierw nadajemy nazwę dla podprocedury, która brzmi Sub Otwórz_pliki_z_Dialogiem_Box()

 Dim Dbox As FileDialog 

⮚ Oświadczamy Dbox jako zmienna w FileDialog typ

 Dim Plik_ścieżka jako String 

⮚ Oświadczamy File_Path jako zmienna w Plik_ścieżka Jak String typ

 Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Wybierz i otwórz " & FileType 

⮚ W pierwszym wierszu pojawi się okno dialogowe, w następnym wierszu nazwa okna dialogowego i typ pliku.

Dbox.Title ustawi tytuł okna dialogowego. i FileType ustawić typ pliku.

 Dbox.Filters.Clear 

⮚ The Dbox.Filters.Clear usunie wszystkie poprzednie filtry zastosowane w oknie diaog

 Dbox.Show 

⮚ The Dbox.Show sprawi, że okno dialogowe pojawi się na pliku.

⮚ Ta linia określi czy użytkownik wybrał więcej niż jeden plik czy nie. Jeśli użytkownik wybrałby więcej niż jeden plik, cała procedura zostałaby zatrzymana.

 End Sub 

⮚ Na koniec kończymy podprocedurę tego kodu.

Read More: Jak otworzyć folder i wybrać plik używając Excel VBA (4 przykłady)

4) Użycie właściwości Workbook.Add

W przeciwieństwie do poprzednich metod, utworzymy nowy plik Excela w ustalonym wcześniej katalogu, a następnie otworzymy go za pomocą Workbook, Dodaj. nieruchomość.

Kroki

  • Najpierw przejdź do Deweloper i kliknij na Visual Basic Jeśli tego nie masz, musisz włączyć zakładkę Deweloper Można też nacisnąć przycisk ' Alt+F11 za otwarcie Edytor Visual Basic .

  • Pojawi się nowe okno dialogowe, w którym należy kliknąć na Wkładka > Moduł .

Następnie, w Moduł W oknie edytora wpisz następujący kod:

 Sub Open_File_with_Add_Property() Dim File_Path As String: File_Path = "C:\NPróbka.xlsx" Dim wb As Workbook Set wb = Workbooks.Add(File_Path) End Sub. 
  • Następnie zamknij Moduł okno.
  • Następnie należy przejść do Zobacz tab> Makra .
  • Następnie kliknij na Wyświetlanie makr .

  • Po kliknięciu Wyświetl makra, wybierz makra, które stworzyłeś przed chwilą. Nazwa tutaj to Open_File_with_Add_Property Następnie kliknij Uruchom .

  • Po kliknięciu Biegnij, zauważysz, że nowy plik jest teraz utworzony i otwarty.

🔎 Podział kodu

⮚ Najpierw nadajemy nazwę dla podprocedury, która brzmi Sub Otwórz_pliki_z_dodatkiem_właściwości()

⮚ Następnie deklarujemy. Plik_ścieżka zmienna jako String typu.

 Dim File_Path As String: File_Path = "C:\NPrzykładowe dokumenty.xlsx" 

⮚ I ustawić Plik_ścieżka zmienna do lokalizacji pliku.

 Dim wb As Workbook 

⮚ Oświadczamy wb jako zmienna w Workbook typu.

 Set wb = Workbooks.Add(File_Path) 

⮚ Następnie dodawany jest skoroszyt z katalogu zapisanego w Plik_ścieżka lokalizacja przy użyciu Workbook.Add nieruchomość.

 End Sub 

⮚ Na koniec kończymy podprocedurę tego kodu.

Read More: [Naprawiono!] Method Open of Object Workbooks Failed (4 rozwiązania)

Wniosek

Reasumując, na pytanie jak możemy otwierać skoroszyty ze zmiennymi nazwami za pomocą VBA odpowiadają tutaj 4 różne przykłady.Przykłady Makro VBA metoda wymaga wcześniejszego związane z VBA wiedza do zrozumienia od podstaw.

Do tego problemu jest do pobrania zeszyt z makrami, w którym można przećwiczyć te metody.

Zachęcamy do zadawania wszelkich pytań lub opinii poprzez sekcję komentarzy. Wszelkie sugestie dotyczące ulepszenia Exceldemy wspólnota będzie wysoko ceniona

Hugh West jest bardzo doświadczonym trenerem i analitykiem Excela z ponad 10-letnim doświadczeniem w branży. Posiada tytuł licencjata w dziedzinie rachunkowości i finansów oraz tytuł magistra administracji biznesowej. Hugh ma pasję do nauczania i opracował unikalne podejście do nauczania, które jest łatwe do naśladowania i zrozumienia. Jego specjalistyczna wiedza na temat programu Excel pomogła tysiącom studentów i profesjonalistów na całym świecie doskonalić swoje umiejętności i osiągać doskonałe wyniki w karierze. Za pośrednictwem swojego bloga Hugh dzieli się swoją wiedzą ze światem, oferując bezpłatne samouczki programu Excel i szkolenia online, aby pomóc osobom indywidualnym i firmom w pełni wykorzystać swój potencjał.