Že vemo, kako odpreti ali shraniti Excelovo datoteko v VBA. Preprosto uporabljamo metodo Open in SaveAs predmeta Delovni zvezek. Toda to zahteva trdo kodiranje poti do datoteke. Največkrat pa boste želeli, da končni uporabnik izbere datoteko z grafičnim vmesnikom ali izgovori pogovorno okno Odpri datoteko ali Shrani kot, ki uporabniku omogoča vizualno in enostavno izbiro lokacije datoteke.
V tem članku obravnavamo kodo, ki se uporablja za prikaz odprtega pogovornega okna delovnega zvezka in ga shrani kot pogovorno okno.
Priložil sem delovni zvezek, ki ga lahko prenesete. Delovni zvezek, priložen temu članku, vsebuje tri makre
Koda VBA za odpiranje datoteke z odprtim pogovornim oknom za odpiranje datotek
V tej kodi bomo uporabili metodo aplikacije GetOpenFilename. Sintaksa metode GetOpenFilename je:
Application.GetOpenFilename ([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect])
[FileFilter]: Določite lahko, da se v izbrani mapi prikaže samo ena vrsta datoteke. Če napišete »Datoteke Excel, *.xlsx, *.xls, *.xlsm« itd., Bodo iz mape v pogovornem oknu za odpiranje datotek prikazane samo datoteke Excel.
[FilterIndex]:To je število datotek, ki jih želite uporabiti.
[Naslov]: Naslov pogovornega okna.
[ButtonText]:Za določitev besedila gumba. Ni pomembno.
[MultiSelect]: To je Booleova spremenljivka. Če nastavite vrednost True ali 1, boste lahko izbrali več datotek. Če nastavite vrednost false, lahko izberete samo eno datoteko.
Dovolj teorije. Naredimo nekaj urokov.
Koda VBA za odpiranje ene datoteke hkrati
Možnost Explicit Sub OpenOneFile () Dim FileName As Variant 'Prikaz pogovornega okna odprte datoteke FileName = Application.GetOpenFilename ("Datoteke Excel,*. Xls", _ 1, "Izberite eno datoteko za odpiranje",, Napačno) "Uporabnik ni 't select file if TypeName (FileName) = "Boolean" Potem Exit Sub' Odprite delovne zvezke delovnega zvezka. Odprite FileName End Sub
Kako deluje?
Ko zaženete ta segment kode, bo metoda GetOpenFilename za objekt Application odprla pogovorno okno Open File. Naslov pogovornega okna bo "Izberite eno datoteko za odpiranje", kot smo določili v kodi. Če izberete datoteko, se bo zagnala koda Worbook.Open in datoteka se bo odprla. Če ne izberete datoteke, bo podnaprava zapustila brez zagona delovnega zvezka. Odprite kodo.
Koda VBA za odpiranje ene ali več datotek hkrati
Ta segment kode bo odprl pogovorno okno za odpiranje datoteke, vendar boste lahko hkrati izbrali več datotek.
Sub OpenMultipleFiles () Dim FileName As Variant, f As Integer 'Prikaz pogovornega okna odprte datoteke FileName = Application.GetOpenFilename ("Datoteke Excel,*. Xlsx", _ 1, "Izberite eno ali več datotek za odpiranje",, True ) 'Uporabnik ni izbral datoteke Če je TypeName (FileName) = "Boolean" Nato Exit Sub "Odprite vse delovne zvezke, ki jih je izbral uporabnik Za f = 1 Za UBound (FileName) delovne zvezke. Odprite FileName (f) Naprej f End Sub
Upoštevajte, da smo tukaj spremenljivko za več izbir nastavili na True. To bo omogočilo večkratno izbiro datoteke.
Koda VBA za odpiranje pogovornega okna Shrani kot
Za odpiranje pogovornega okna Shrani kot bomo uporabili metodo GetSaveAsFilename predmeta Application. Sintaksa metode je:
Application.GetSaveAsFilename ([InitialFileName], [FileFilter], [FilterIndex], [Title], [ButtonText])
[InitialFileName]:Začetno ime datoteke. Če datoteke med shranjevanjem ne preimenujete, bo datoteka shranjena s tem imenom.
[FileFilter]: Določite lahko, da se v izbrani mapi prikaže samo ena vrsta datoteke. Če napišete »Datoteke Excel, *.xlsx, *.xls, *.xlsm« itd., Bodo iz mape v pogovornem oknu za odpiranje datotek prikazane samo datoteke Excel.
[FilterIndex]: Indeks filtra datoteke.
[Naslov]:Naslov pogovornega okna.
[ButtonText]:To se uporablja v sistemu Mac za spreminjanje imena gumba.
Za kodo sledite spodaj
Sub SaveFile () Dim FileName As Variant 'Prikaz pogovornega okna saveas FileName = Application.GetSaveAsFilename ("MyFileName.xls", _ "Excel datoteke,*. Xls", 1, "Izberite mapo in ime datoteke") "Uporabnik ni" t shranite datoteko Če TypeName (FileName) = "Boolean" Nato zapustite Sub 'Shranite delovni zvezek ActiveWorkbook.SaveAs FileName End Sub
Makro SaveFile uporablja metodo GetSaveAsFilename predmeta aplikacije, da odpre pogovorno okno shrani kot, dodeli ime datoteke in izbere mesto za shranjevanje delovnega zvezka.
Torej, fantje, tako lahko uporabite pogovorno okno za odpiranje in shranjevanje datotek z uporabo VBA. Upam, da je bilo v pomoč. Če dvomite o tem članku ali kateri koli drugi temi VBA, vprašajte v spodnjem razdelku za komentarje.
Uporabite zaprt delovni zvezek kot bazo podatkov (DAO) z uporabo VBA v programu Microsoft Excel | Če želite uporabiti zaprt delovni zvezek kot zbirko podatkov s povezavo DAO, uporabite ta delček VBA v Excelu.
Uporabite zaprt delovni zvezek kot bazo podatkov (ADO) z uporabo VBA v Microsoft Excelu | Če želite uporabiti zaprt delovni zvezek kot zbirko podatkov s povezavo ADO, uporabite ta delček VBA v Excelu.
Uvod v uporabniške obrazce programa Excel VBA | Za vstavljanje podatkov v bazo podatkov uporabljamo obrazce. Uporabniški obrazci programa Excel so uporabni za pridobivanje informacij od uporabnika. Tukaj je, kako morate začeti z uporabniškimi oblikami VBA.
Spremenite vrednost/vsebino več kontrolnikov UserForm z uporabo VBA v Excelu | Če želite spremeniti vsebino kontrolnikov oblike uporabnika, uporabite ta preprost delček VBA.
Preprečite, da se uporabniška oblika zapre, ko uporabnik klikne gumb x z uporabo VBA v Excelu | Da preprečimo, da se uporabniški obrazec zapre, ko uporabnik klikne gumb x obrazca, uporabimo dogodek UserForm_QueryClose.
Priljubljeni članki:
50 bližnjic v Excelu za večjo produktivnost | Poskrbite, da bo vaša naloga hitrejša. S temi 50 bližnjicami boste še hitreje delali v Excelu.
Funkcija VLOOKUP v Excelu | To je ena najpogosteje uporabljenih in priljubljenih funkcij programa Excel, ki se uporablja za iskanje vrednosti iz različnih obsegov in listov.
COUNTIF v Excelu 2016 | Štejte vrednosti s pogoji s to neverjetno funkcijo. Za štetje določene vrednosti vam ni treba filtrirati podatkov. Funkcija Countif je bistvena za pripravo vaše armaturne plošče.
Kako uporabljati funkcijo SUMIF v Excelu | To je še ena bistvena funkcija armaturne plošče. To vam pomaga povzeti vrednosti za posebne pogoje