Öppna arbetsbok med variabelnamn med Excel VBA

  • Dela Detta
Hugh West

Naturligtvis kan vi behöva öppna filen från en överordnad Excel-fil med VBA i en annan katalog. Men samtidigt har vi olika typer av kriterier för hur vi vill öppna arbetsboken. Om du är nyfiken på hur du kan öppna en arbetsbok med variabelnamnet, kan den här artikeln vara till nytta för dig. I den här artikeln diskuterar vi hur du kan öppna en arbetsbok med variabelnamnet.använda VBA i Excel med utförliga förklaringar.

Ladda ner övningsboken

Ladda ner arbetsboken nedan.

Öppna arbetsbok med variabelnamn med hjälp av VBA.xlsm

Exempel.xlsx

4 enkla sätt att öppna arbetsbok med variabelnamn med VBA i Excel

Vi kommer att använda nedanstående dataset för demonstrationen. Vi har produktinformation om flera produkter med deras Id. Detta är en exempelfil som vi kommer att öppna med hjälp av VBA-koden.

1. Använda egenskapen Workbook.Open

Användning av Arbetsbok.Öppna kan vi öppna filer genom att nämna katalogen eller inte nämna platsen. Vi kan också göra den öppnade filen skrivskyddad.

1.1 Öppna arbetsbok med angivande av filsökväg

I nästa metod kommer vi att använda Egenskapen Workbook.Open för att öppna filen direkt från den angivna katalogen. Oavsett var filen finns kan vi enkelt öppna den.

Steg

  • Vi har en fil i mappen dokument som vi vill öppna.
  • Vi använder filnamnet som en variabel och öppnar sedan filen med hjälp av ett litet VBA-makro.
  • Filens exakta filkatalog visas nedan i egenskapsfönstret.

  • Gå först till Utvecklare och klicka på Visual Basic . Om du inte har det måste du aktivera fliken Utvecklare Du kan också trycka på ' Alt+F11 för att öppna Redigerare för Visual Basic .

  • En ny dialogruta kommer att öppnas, i den dialogrutan klickar du på Infoga > Modul .

  • Därefter, i Modul editor fönstret, skriv följande kod:
 Sub Open_with_File_Path() Dim Open_File As String: File_path = "C:\Users\User\OneDrive\Documents\Sample" Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:=File_path) End Sub 

  • Stäng sedan Modul fönster.
  • Därefter går du till Visa flik> Makroer .
  • Klicka sedan på Visa makron .

  • Efter att ha klickat på Visa makron, Välj de makron som du skapade nyss. Namnet här är Öppna_med_Fil_sökväg Klicka sedan på Kör .

  • Efter detta har Exempel filen kommer att öppnas.

🔎 Uppdelning av koden

 Sub Open_with_File_Path() 

⮚ Först anger vi ett namn för underförfarandet, vilket är Öppna_med_Fil_sökväg .

 Dim Open_File As String: File_path = "C:\Users\User\OneDrive\Documents\Sample" 

⮚ Därefter anger vi filens plats i Fil_sökväg variabel

 Dim wrkbk Som arbetsbok 

⮚ Sedan deklarerar vi vår variabel wrkbk , vars typ är en arbetsbok.

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

⮚ Sedan öppnar vi filen som heter i Fil_sökväg och ange filen som wrkbk variabel.

 Slutar under 

⮚ Slutligen avslutar vi delförfarandet i denna kod.

Läs mer: Öppna arbetsbok från sökvägen med Excel VBA (4 exempel)

1.2 Öppna arbetsbok utan att nämna filväg

I nästa metod öppnar vi filen från den överordnade mappen, där huvudfilen är sparad. Filen kan öppnas utan att någon plats anges i koden. Filen behöver bara finnas i samma mapp som den överordnade mappen.

Steg

  • Vi har en annan fil sparad i samma katalog där den överordnade Excel-filen nu är sparad.
  • Filnamnet är 1.

  • Gå först till Utvecklare och klicka på Visual Basic . Om du inte har det måste du aktivera fliken Utvecklare Eller Du kan också trycka på ' Alt+F11 ' för att öppna Redigerare för Visual Basic .

  • En ny dialogruta kommer att öppnas, i den dialogrutan klickar du på Infoga > Modul .

  • Därefter, i Modul editor fönstret, skriv följande kod:
 Sub Open_without_File_Path() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open(Filename:="1.xlsx") End Sub 

  • Stäng sedan Modul fönster.
  • Därefter går du till Visa flik> Makroer .
  • Klicka sedan på Visa makron .

  • När du har klickat på Visa makron, välj de makron som du skapade nyss. Namnet här är Öppna_utan_filväg Klicka sedan på Kör.

  • Efter att ha tryckt på Kör ser du att filen med namnet 1 nu är öppen.
  • Så här öppnar vi arbetsboken med variabelnamnet med hjälp av VBA i Excel.

🔎 Uppdelning av koden

 Sub Open_without_File_Path() 

⮚ Först anger vi ett namn för underförfarandet, vilket är Sub Open_without_File_Path()

 Dim wrkbk Som arbetsbok 

⮚ Vi förklarar wrkbk som en variabel i arbetsbokstyp

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

⮚ Vi öppnar filen från den överordnade katalogen som heter 1.xlsx .

 Slutar under 

⮚ Slutligen avslutar vi delförfarandet i denna kod.

1.3 Öppna arbetsboken som skrivskyddad

Metoden är ganska lik den första metoden, men här öppnar vi filen i skrivskyddat läge, vilket innebär att vi inte kan ändra några data eller värden i Excel-filen.

Steg

  • Filen som vi vill öppna är sparad i dokumentmappen.
  • Det här är filen som vi vill öppna som skrivskyddad.

  • Gå först till Utvecklare och klicka på Visual Basic . Om du inte har det måste du aktivera fliken Utvecklare Du kan också trycka på ' Alt+F11 ' för att öppna Visual Basic-redigeraren.

  • En ny dialogruta kommer att öppnas, i den dialogrutan klickar du på Infoga > Modul .

  • Därefter, i Modul editor fönstret, skriv följande kod:
 Sub Open_with_File_Read_Only() Dim wrkbk As Workbook Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True) End Sub 
  • Stäng sedan Modul fönster.
  • Därefter går du till Visa flik> Makroer .
  • Klicka sedan på Visa makron .

  • När du har klickat på Visa makron, välj de makron som du skapade nyss. Namnet här är Öppna_med_File_Read_Only Klicka sedan på Kör .

  • Efter att ha klickat på Kör ser vi att filen nu är öppnad som skrivskyddad, vilket visas i titellisten.

🔎 Uppdelning av koden

 Sub Open_with_File_Read_Only() 

⮚ Först anger vi ett namn för underförfarandet som är Open_with_File_Read_Only()

 Dim wrkbk Som arbetsbok 

⮚ Vi förklarar wrkbk som variabel i arbetsbokstyp

 Set wrkbk = Workbooks.Open("C:\Users\User\OneDrive\Documents\Sample", ReadOnly:=True) 

⮚ Filen öppnas då från den angivna katalogen, och filen kommer att ställas in skrivskyddad av det sista argumentet.

 Slutar under 

⮚ Slutligen avslutar vi delförfarandet i denna kod.

Läs mer: Hur man öppnar arbetsboken som skrivskyddad med Excel VBA

2. Användning av meddelanderutan

På samma sätt som i föregående metod kan vi öppna filer med hjälp av VBA-koden här i Excel, men i det här fallet kommer vi att infoga en liten meddelanderuta här.

Steg

  • Gå först till Utvecklare och klicka på Visual Basic . Om du inte har det måste du aktivera fliken Utvecklare Eller Du kan också trycka på ' Alt+F11 för att öppna Redigerare för Visual Basic .

  • En ny dialogruta kommer att öppnas, i den dialogrutan klickar du på Infoga > Modul .

  • Därefter, i Modul editor fönstret, skriv följande kod:
 Sub Open_File_with_Messege_Box() Dim path As String: path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" If Dir(path) "" Then Workbooks.Open (path) MsgBox "Filen öppnades framgångsrikt" Else MsgBox "Öppning av filen misslyckades" End If End Sub 

  • Stäng sedan Modul fönster.
  • Därefter går du till Visa flik> Makroer .
  • Klicka sedan på Visa makron .

  • Efter att ha klickat på Visa makron, Välj de makron som du skapade nyss. Namnet här är Öppna_fil_med_Messege_Box Klicka sedan på Kör .

  • Sedan fick vi en varningsruta som visar att Filen öppnades framgångsrikt .
  • Klicka sedan på OK .

  • Vi kommer att se att filen nu är öppen.

  • Sedan försöker vi ändra koden lite grann.
  • Vi ändrar filnamnet till Prov10 , och det finns faktiskt ingen fil som heter Prov10 i dokumentmappen.

  • Då kan vi Kör koden igen, och det visas en meddelanderuta med följande text Öppnandet av filen misslyckades .
  • Klicka på OK efter detta.

🔎 Uppdelning av koden

 Sub Open_File_with_Messege_Box() 

⮚ Först anger vi ett namn för underförfarandet som är Open_with_File_Read_Only()

 Dim path As String: 

⮚ Vi förklarar wrkbk som en variabel i arbetsbokstypen

 Om Dir(path) "" Då Workbooks.Open (path) 
 MsgBox "Filen öppnades framgångsrikt" Else 

⮚ Den här raden kommer att kontrollera om filen med namnet Sample finns i katalogen eller ej. Om filen finns där kommer den att öppnas och samtidigt visas meddelandet.

 MsgBox "Öppning av filen misslyckades" 

⮚ Om det inte finns någon fil som heter Exempel i katalogen, kommer detta meddelande att levereras.

 Slutar om 

⮚ Slutligen avslutar vi delförfarandet i denna kod.

 Slutar under 

⮚ Slutligen avslutar vi delförfarandet i denna kod.

Läs mer: Öppna arbetsbok och kör makro med VBA (4 exempel)

3. Användning av dialogrutan för att öppna en fil

Det är ganska besvärligt att extrahera filplatsen i katalogen och importera dem varje gång i VBA-koden. För att lösa problemet ska vi visa hur du kan använda en dialogruta för att välja fil från vilken katalog som helst.

Steg

  • Nu öppnar vi filen med hjälp av dialogrutan för filutforskare.
  • Gå först till Utvecklare och klicka på Visual Basic . Om du inte har det måste du aktivera fliken Utvecklare Eller Du kan också trycka på ' Alt+F11 för att öppna Redigerare för Visual Basic .

  • En ny dialogruta kommer att öppnas, i den dialogrutan klickar du på Infoga > Modul .

  • Därefter, i Modul editor fönstret, skriv följande 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 = "Välj och öppna " & 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 
  • Stäng sedan Modul fönster.
  • Därefter går du till Visa flik> Makroer .
  • Klicka sedan på Visa makron .

  • Efter att ha klickat på Visa makron, Välj de makron som du skapade nyss. Namnet här är Öppna_fil_med_Dialog_Box Klicka sedan på Kör .

  • Då öppnas ett nytt fönster. I dialogrutan för filutforskaren väljer du Exempel och klicka på OK .

  • Därefter ska filen med namnet Exempel öppnades.
  • Så här öppnar vi arbetsboken med variabelnamnet med hjälp av VBA i Excel.

🔎 Uppdelning av koden

 Sub Open_File_with_Dialog_Box() 

⮚ Först anger vi ett namn för underförfarandet, vilket är Sub Open_File_with_Dialog_Box()

 Dim Dbox As FileDialog 

⮚ Vi förklarar Dbox som en variabel i FileDialog typ

 Dim File_Path som sträng 

⮚ Vi förklarar Fil_sökväg som en variabel i Fil_sökväg Som Sträng typ

 Set Dbox = Application.FileDialog(msoFileDialogFilePicker) Dbox.Title = "Välj och öppna " & FileType 

⮚ En dialogruta visas från den första raden. Nästa rad anger dialogrutans namn och filtypen.

Dbox.Title anger titeln på dialogrutan. och FileType ange filtypen.

 Dbox.Filters.Clear 

⮚ Den Dbox.Filters.Clear rensar alla tidigare filter som tillämpats i diaog-rutan.

 Dbox.Show 

⮚ Den Dbox.Show får dialogrutan att visas i filen.

⮚ Denna rad avgör om användaren har valt mer än en fil eller ej. Om användaren har valt mer än en fil, avbryts hela proceduren.

 Slutar under 

⮚ Slutligen avslutar vi delförfarandet i denna kod.

Läs mer: Öppna mapp och välj fil med Excel VBA (4 exempel)

4. Använda Workbook.Add Property

I motsats till de tidigare metoderna skapar vi en ny Excel-fil i en förutbestämd katalog och öppnar den sedan med hjälp av Arbetsbok. egendom.

Steg

  • Gå först till Utvecklare och klicka på Visual Basic . Om du inte har det måste du aktivera fliken Utvecklare Eller Du kan också trycka på ' Alt+F11 för att öppna Redigerare för Visual Basic .

  • En ny dialogruta kommer att öppnas, i den dialogrutan klickar du på Infoga > Modul .

Därefter, i Modul editor fönstret, skriv följande kod:

 Sub Open_File_with_Add_Property() Dim File_Path As String: File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" Dim wb As Workbook Set wb = Workbooks.Add(File_Path) End Sub 
  • Stäng sedan Modul fönster.
  • Därefter går du till Visa flik> Makroer .
  • Klicka sedan på Visa makron .

  • Efter att ha klickat på Visa makron, Välj de makron som du skapade nyss. Namnet här är Open_File_with_Add_Property Klicka sedan på Kör .

  • Efter att ha klickat på Kör, kommer du att märka att en ny fil har skapats och öppnats.

🔎 Uppdelning av koden

⮚ Först anger vi ett namn för underförfarandet, vilket är Sub Open_File_with_Add_Property()

⮚ Sedan förklarar vi att Fil_sökväg variabel som Sträng typ.

 Dim File_Path As String: File_Path = "C:\Users\User\OneDrive\Documents\Sample.xlsx" 

⮚ Och ställ in Fil_sökväg variabeln till filens plats.

 Dim wb As Workbook 

⮚ Vi förklarar wb som en variabel i Arbetsbok typ.

 Set wb = Workbooks.Add(File_Path) 

⮚ Arbetsboken läggs sedan till från den katalog som finns lagrad i Fil_sökväg plats med hjälp av Arbetsbok.Lägg till egendom.

 Slutar under 

⮚ Slutligen avslutar vi delförfarandet i denna kod.

Läs mer: [Rättad!] Metod för att öppna objektarbetsböcker misslyckades (4 lösningar)

Slutsats

Sammanfattningsvis besvaras frågan om hur vi kan öppna arbetsböcker med variabelnamn med hjälp av VBA med fyra olika exempel. VBA-makro Metoden kräver att man i förväg VBA-relaterad kunskap för att förstå från grunden.

För det här problemet finns en arbetsbok med makroaktivering att ladda ner där du kan öva på dessa metoder.

Du får gärna ställa frågor eller ge feedback i kommentarsfältet. Alla förslag för att förbättra Excellent gemenskapen kommer att vara mycket uppskattad.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.