INHOUDSOPGAWE
Natuurlik sal ons dalk die lêer van 'n ouer Excel-lêer moet oopmaak met VBA in 'n ander gids. Maar terselfdertyd het ons verskillende soorte kriteria ook oor hoe ons die werkboek wil oopmaak. As jy nuuskierig is om te weet hoe jy 'n werkboek met die veranderlike naam kan oopmaak, dan kan hierdie artikel vir jou handig te pas kom. In hierdie artikel bespreek ons hoe jy 'n werkboek met veranderlike naam kan oopmaak deur VBA in Excel te gebruik met uitgebreide verduidelikings.
Laai Oefenwerkboek af
Laai hierdie oefenwerkboek hieronder af.
Maak werkboek oop met veranderlike naam deur VBA.xlsm te gebruik
Voorbeeld.xlsx
4 Maklik Maniere om werkboek met veranderlike naam oop te maak deur VBA in Excel te gebruik
Ons gaan die onderstaande datastel vir die demonstrasie gebruik. Ons het die produkinligting van verskeie produkte met hul ID. dit is 'n voorbeeldlêer wat ons met die VBA-kode gaan oopmaak.
1. Gebruik Werkboek. Maak eiendom oop
Gebruik die Werkboek .Open eiendom, ons kan lêers oopmaak deur die gids te noem, of nie die ligging te noem nie. Ons kan ook die oopgemaakte lêer leesalleen maak.
1.1 Maak werkboek oop en noem lêerpad
In die volgende metode gaan ons die Werkboek.Open eiendom gebruik om die lêer direk vanaf die genoemde lêerligginggids oop te maak. Maak nie saak waar die lêer geleë is nie, ons kan die lêer oopmaakwat Sub Open_File_with_Add_Property()
⮚ Dan verklaar ons die File_Path veranderlike as String tipe.
7233
⮚ En stel die File_Path veranderlike na die ligging van die lêer.
9100
⮚ Ons verklaar wb as 'n veranderlike in die Werkboek tipe.
2355
⮚ Die werkboek word dan bygevoeg vanaf die gids wat in die File_Path -ligging gestoor is deur die Workbook.Add -eienskap te gebruik.
5840
⮚ Ten slotte eindig ons die sub-prosedure van hierdie kode.
Lees meer: [Vaste!] Metode Oop van objek-werkboeke het misluk (4 oplossings)
Slot
Om dit op te som, die kwessie van hoe ons werkboeke met veranderlike name kan oopmaak deur VBA te gebruik, word hier beantwoord deur 4 verskillende voorbeelde. Die VBA Makro -metode vereis vooraf VBA-verwante kennis om van nuuts af te verstaan.
Vir hierdie probleem is 'n makro-geaktiveerde werkboek beskikbaar om af te laai waar jy kan oefen hierdie metodes.
Vra gerus enige vrae of terugvoer deur die kommentaarafdeling. Enige voorstel vir die verbetering van die Exceldemy -gemeenskap sal hoogs waardeer wees
maklik.Stappe
- Ons het 'n lêer gestoor in die dokumente-lêergids wat ons moet oopmaak.
- Ons sal die lêer gebruik naam as 'n veranderlike en maak dan die lêer oop met 'n klein VBA-makro.
- Die presiese lêergids van die lêer word hieronder in die eienskappevenster gewys.
- Gaan eers na die Ontwikkelaar oortjie en klik op Visual Basic . As jy dit nie het nie, moet jy die Ontwikkelaar-oortjie aktiveer. Of jy kan ook ' Alt+F11' druk om die Visual Basic Editor oop te maak.
- Dan sal daar 'n nuwe dialoogkassie wees, in daardie dialoogkassie, klik op die Voeg in > Module .
- Volgende, in die Module -redigeervenster, tik die volgende kode in:
3413
- Maak dan die Module venster.
- Gaan daarna na Bekyk -oortjie > Makro's .
- Klik dan op Bekyk Makro's .
- Nadat jy Bekyk makro's, kies die makro's wat jy nou geskep het. Die naam hier is Open_with_File_Path . Klik dan op Run .
- Daarna gaan die Voorbeeld lêer oopmaak.
🔎 Uiteensetting van die kode
5172
⮚ Eerstens verskaf ons 'n naam vir die sub- prosedure wat Open_with_File_Path is.
4683
⮚ Dan plaas ons die ligging van die lêer in die File_Path veranderlike
2003
⮚Dan verklaar ons ons veranderlike wrkbk , wie se tipe 'n werkboek is.
5470
⮚ Dan maak ons die lêer met die naam in die File_Path gidsveranderlike oop en stel die lêer as wrkbk veranderlike.
5673
⮚ Ten slotte eindig ons die subprosedure van hierdie kode.
Lees Meer: Hoe om Maak werkboek oop vanaf pad met behulp van Excel VBA (4 voorbeelde)
1.2 Maak werkboek oop sonder om lêerpad te noem
In die volgende metode sal ons die lêer oopmaak vanaf die ouerlêergids, waar die hooflêer gestoor word. Die lêer kan oopgemaak word sonder om enige plek in die kode te noem. Hierdie lêer moet net in dieselfde vouer as die ouergids wees.
Stappe
- Ons het 'n ander lêer wat in dieselfde gids gestoor is waar die ouer Excel-lêer is nou gestoor.
- Die lêernaam is 1.
- Gaan eers na die Ontwikkelaar oortjie en klik op Visual Basic . As jy dit nie het nie, moet jy die Ontwikkelaar-oortjie aktiveer. Of jy kan ook ' Alt+F11 ' druk om die Visual Basic Editor oop te maak.
- Dan sal daar 'n nuwe dialoogkassie wees, in daardie dialoogkassie, klik op die Voeg in > Module .
- Volgende, in die Module -redigeervenster, tik die volgende kode in:
5052
- Maak dan die Module venster.
- Gaan daarna na Bekyk -oortjie > Makro's .
- Klik dan op BekykMakro's .
- Nadat jy Bekyk makro's geklik het, kies die makro's wat jy sopas geskep het. Die naam hier is Open_without_File_Path . Klik dan op Run.
- Nadat jy Run gedruk het, sal jy sien dat die lêer genaamd 1 nou oop is.
- En dit is hoe ons die werkboek met veranderlike naam oopmaak deur VBA in Excel te gebruik.
🔎 Uiteensetting van die Kode
2291
⮚ Eerstens verskaf ons 'n naam vir die subprosedure wat Sub Open_without_File_Path()
4163
⮚ Ons verklaar wrkbk
1378
⮚ Ons maak lêer oop vanaf die ouergids met die naam 1.xlsx .
1613
⮚ Laastens eindig ons die subprosedure van hierdie kode.
1.3 Maak werkboek oop as leesalleen
Die metode is baie soortgelyk aan die eerste metode, maar hier sal ons die lêer in leesalleen-modus oopmaak, wat beteken dat ons nie enige data of waarde in die Excel-lêer kan verander.
Stappe
- Die lêer wat ons wil oopmaak word in die dokumentlêer gestoor.
- En dit is die lêer wat ons as leesalleen wil oopmaak.
- Gaan eers na die Ontwikkelaar oortjie en klik op Visual Basic . As jy dit nie het nie, moet jy die Ontwikkelaar-oortjie aktiveer. Of jy kan ook ' Alt+F11 ' druk om die Visual Basic Editor oop te maak.
- Dan sal daar 'n nuwe dialoogkassie, in daardie dialoogkassie, klik op die Voeg > Module in.
- Volgende, in die Module -redigeerdervenster, tik die volgende kode:
8858
- Maak dan die Module venster toe.
- Gaan daarna na die Bekyk -oortjie > Makro's .
- Klik dan op Bekyk makro's .
- Nadat jy Kyk geklik het Makro's, kies die makro's wat jy nou geskep het. Die naam hier is Open_with_File_Read_Only . Klik dan Run .
- Nadat ons Run geklik het, sal ons sien dat die lêer nou oopgemaak is as leesalleen, soos in die titelbalk gewys.
🔎 Uiteensetting van die kode
6001
⮚ Eerstens verskaf ons 'n naam vir die subprosedure wat Open_with_File_Read_Only()
9240
⮚ Ons verklaar wrkbk as veranderlike in Werkboek tipe
5311
⮚ Die lêer sal dan oopmaak vanaf die aangewese gids, en die lêer sal deur die laaste argument leesalleen gestel word.
9326
⮚ Laastens eindig ons die sub-prosedure van hierdie kode.
Lees meer: Hoe om werkboek as leesalleen oop te maak met Excel VBA
2. Gebruik Boodskapkassie
Amper soortgelyk aan die vorige metode, ons kan lêers deur die VBA-kode hier in Excel oopmaak, maar in hierdie geval sal ons 'n klein boodskapblokkie hier inkorporeer.
Stappe
- Gaan eers na die Ontwikkelaar oortjie en klik op Visual Basic . As jy dit nie het nie, moet jy die aktiveerOntwikkelaar-oortjie . Of jy kan ook ' Alt+F11' druk om die Visual Basic Editor oop te maak.
- Dan sal daar 'n nuwe dialoogkassie wees, in daardie dialoogkassie, klik op die Voeg in > Module .
- Volgende, in die Module -redigeervenster, tik die volgende kode in:
9060
- Maak dan die Module venster.
- Gaan daarna na Bekyk -oortjie > Makro's .
- Klik dan op Bekyk Makro's .
- Nadat jy Bekyk makro's, kies die makro's wat jy nou geskep het. Die naam hier is Open_File_with_Messege_Box . Klik dan op Run .
- Toe kry ons die waarskuwingsblokkie, wat wys dat Die lêer is suksesvol oopgemaak .
- Klik dan OK .
- En dan sal ons sien dat die lêer nou is oop.
- En dan probeer ons die kode 'n bietjie verander.
- Ons verander die lêernaam na Sample10 , en daar is eintlik geen lêer met die naam Sample10 in die dokumente-lêergids nie.
- Dan is ons Begin die kode weer, en daar is 'n boodskapblokkie wat sê Opening of the File Failed .
- Klik OK hierna.
🔎 Uiteensetting van die kode
2537
⮚ Eerstens verskaf ons 'n naam vir die subprosedure wat Open_with_File_Read_Only()
3955
⮚ Onsverklaar wrkbk as 'n veranderlike in die werkboek tipe
6289
7456
⮚ Hierdie reël sal kyk of die lêer met die naam Sample in die gids beskikbaar is of nie. As die lêer daar is, sal dit maak die lêer oop en sal terselfdertyd die boodskap wys.
3231
⮚ As daar geen lêer met die naam Voorbeeld in die gids is nie, sal hierdie boodskap afgelewer word.
2586
⮚ Laastens beëindig ons die subprosedure van hierdie kode.
5525
⮚ Laastens beëindig ons die subprosedure van hierdie kode.
Lees Meer: Hoe om werkboek oop te maak en makro te laat loop met VBA (4 voorbeelde)
3. Gebruik van dialoogkassie om lêer oop te maak
Uittrek die lêerligginggids uit en voer dit elke keer in in die VBA-kode is nogal omslagtig. Om die probleem op te los, sal ons wys hoe jy 'n dialoogkassie kan gebruik om lêer uit enige gids te kies.
Stappe
- Nou sal ons die lêer oopmaak gebruik die lêerverkenner-dialoogkassie.
- Gaan eers na die Ontwikkelaar oortjie en klik op Visual Basic . As jy dit nie het nie, moet jy die Ontwikkelaar-oortjie aktiveer. Of jy kan ook ' Alt+F11' druk om die Visual Basic Editor oop te maak.
- Dan sal daar 'n nuwe dialoogkassie wees, in daardie dialoogkassie, klik op die Voeg in > Module .
- Volgende, in die Module -redigeervenster, tik die volgende kode in:
1127
- Maak dan die Module toe venster.
- Gaan daarna na Bekyk -oortjie > Makro's .
- Klik dan op Bekyk makro's .
- Nadat jy Bekyk makro's, kies die makro's wat jy sopas geskep het. Die naam hier is Open_File_with_Dialog_Box . Klik dan op Run .
- En dan maak 'n nuwe venster oop. In die lêerverkenner-dialoogkassie en kies Voorbeeld en klik OK .
- Dan word die lêer met die naam Voorbeeld oopgemaak.
- En dit is hoe ons die werkboek met veranderlike naam oopmaak deur VBA in Excel te gebruik.
🔎 Uiteensetting van die kode
8557
⮚ Eerstens verskaf ons 'n naam vir die subprosedure wat Sub Open_File_with_Dialog_Box()
is2244
⮚ Ons verklaar Dbox as 'n veranderlike in FileDialog tipe
1839
⮚ Ons verklaar File_Path as 'n veranderlike in die File_Path As String type
9108
⮚ Daar sal 'n dialoogkassie vanaf die eerste reël wees. Die volgende reël dui die dialoogkassienaam en die lêertipe aan.
⮚ Dbox.Title sal die titel van die dialoogkassie stel. en FileType
stel die lêertipe in.
2461
⮚ Die Dbox.Filters.Clear sal enige vorige filter wat in die dialoogkassie toegepas is
7838
uitvee ⮚ Die Dbox.Show sal die dialoogkassie op die lêer laat verskyn.
⮚ Hierdie reël sal bepaal of die gebruiker meer as een lêer gekies het of nie. As die gebruiker meer aseen lêer, sou die hele prosedure stop.
9377
⮚ Laastens beëindig ons die subprosedure van hierdie kode.
Lees meer: Hoe om oop te maak Voer en kies lêer met behulp van Excel VBA (4 voorbeelde)
4. Gebruik werkboek. Voeg eiendom by
In teenstelling met die vorige metodes, sal ons 'n nuwe Excel-lêer in 'n voorafbepaalde gids skep en dan sal ons dit oopmaak met die Werkboek. Voeg eiendom by.
Stappe
- Gaan eers na die Ontwikkelaar oortjie en klik op Visual Basic . As jy dit nie het nie, moet jy die Ontwikkelaar-oortjie aktiveer. Of jy kan ook ' Alt+F11' druk om die Visual Basic Editor oop te maak.
- Dan sal daar 'n nuwe dialoogkassie wees, in daardie dialoogkassie, klik op die Voeg in > Module .
Volgende, in die Module -redigeerdervenster, tik die volgende kode in:
8407
- Maak dan die Module -venster.
- Nadat dat, gaan na Bekyk -oortjie > Makro's .
- Klik dan op Bekyk makro's .
- Nadat jy Bekyk makro's, kies die makro's wat jy sopas geskep het. Die naam hier is Open_File_with_Add_Property . Klik dan Run .
- Nadat jy Run, geklik het, sal jy sien dat 'n nuwe lêer nou is geskep en oopgemaak.
🔎 Uiteensetting van die kode
⮚ Eerstens verskaf ons 'n naam vir die subprosedure