Korištenje dijaloškog okvira za otvaranje i spremanje radne knjige

Sadržaj:

Anonim

Već znamo kako otvoriti ili spremiti Excel datoteku u VBA. Jednostavno koristimo metodu Open and SaveAs objekta Workbook. Ali to zahtijeva teško kodiranje putanje datoteke. No, najčešće ćete htjeti da krajnji korisnik odabere datoteku pomoću grafičkog sučelja ili izgovori dijaloški okvir Otvori datoteku ili Spremi kao koji omogućuje korisniku da vizualno i jednostavno odabere mjesto datoteke.

U ovom članku obrađujemo kôd koji se koristi za prikaz otvorenog dijaloškog okvira radne knjige i spremi kao dijaloški okvir.

Priložio sam radnu knjigu koju možete preuzeti. Radna bilježnica priložena ovom članku sadrži tri makronaredbe

VBA kôd za otvaranje datoteke pomoću dijaloga Otvorena datoteka

U ovom kodu koristit ćemo GetOpenFilename metodu Application. Sintaksa metode GetOpenFilename je:

Application.GetOpenFilename ([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect])

[FileFilter]: Možete definirati da se u odabranoj mapi prikazuje samo jedna vrsta datoteke. Ako napišete "Excel-datoteke, *.xlsx, *.xls, *.xlsm" itd., Tada će se iz mape u dijaloškom okviru za otvaranje datoteke prikazati samo datoteke excela.

[FilterIndex]:To je broj filtara datoteka koje želite koristiti.

[Titula]: Naslov dijaloškog okvira.

[ButtonText]:Za navođenje teksta gumba. Nije važno.

[MultiSelect]: To je Booleova varijabla. Ako postavite vrijednost True ili 1, moći ćete odabrati više datoteka. Ako postavite netočno, možete odabrati samo jednu datoteku.

Dosta je bilo teorije. Učinimo neke čarolije.

VBA kôd za otvaranje jedne datoteke odjednom

Opcija Eksplicitan pod OpenOneFile () Zatamni naziv datoteke kao varijantu 'Prikaz dijaloškog okvira za otvorenu datoteku Ime datoteke = Aplikacija.GetOpenFilename ("Excel-datoteke,*. Xls", _ 1, "Odaberi jednu datoteku za otvaranje",, Netačno) "Korisnik nije 't select a file If TypeName (FileName) = "Boolean" Then Exit Sub' Otvorite radne knjige radne knjige.Open FileName End Sub 

Kako radi?

Kada pokrenete ovaj segment koda, metoda GetOpenFilename za objekt Application otvorit će okvir za dijalog Open File Open. Naslov dijaloškog okvira bit će "Odaberi jednu datoteku za otvaranje" kako smo definirali u kodu. Ako odaberete datoteku, pokrenut će se kôd Worbook.Open i datoteka će se otvoriti. Ako ne odaberete datoteku, pod -datoteka će izaći bez pokretanja radne knjige. Otvorite kôd.

VBA kôd za otvaranje jedne ili više datoteka odjednom

Ovaj segment koda otvorit će dijaloški okvir za otvaranje datoteke, ali ćete moći odabrati više datoteka odjednom.

Sub OpenMultipleFiles () Dim FileName As Variant, f As Integer 'Prikaz dijaloškog okvira otvorene datoteke FileName = Application.GetOpenFilename ("Excel-datoteke,*. Xlsx", _ 1, "Odaberi jednu ili više datoteka za otvaranje",, Tačno ) 'Korisnik nije odabrao datoteku Ako je TypeName (FileName) = "Boolean" Zatim izađi iz Sub' Otvori sve radne knjige koje je korisnik odabrao Za f = 1 U UBound (FileName) Workbooks.Open FileName (f) Next f End Sub 

Imajte na umu da smo ovdje varijablu za više odabira postavili na True. To će omogućiti višestruki odabir datoteke.

VBA kôd za otvaranje Spremi kao dijaloški okvir

Za otvaranje dijaloškog okvira Spremi kao koristit ćemo se metodom GetSaveAsFilename objekta Application. Sintaksa metode je:

Application.GetSaveAsFilename ([InitialFileName], [FileFilter], [FilterIndex], [Title], [ButtonText])

[InitialFileName]:Naziv početne datoteke. Ako datoteku ne preimenujete tijekom spremanja, datoteka će biti spremljena s ovim imenom.

[FileFilter]: Možete definirati da se u odabranoj mapi prikazuje samo jedna vrsta datoteke. Ako napišete "Excel-datoteke, *.xlsx, *.xls, *.xlsm" itd., Tada će se iz mape u dijaloškom okviru za otvaranje datoteke prikazati samo datoteke excela.

[FilterIndex]: Indeks filtra datoteke.

[Titula]:Naslov dijaloškog okvira.

[ButtonText]:Ovo se koristi u sustavu Mac za promjenu naziva gumba.

Molimo slijedite dolje za kôd

Sub SaveFile () Dim FileName as Variant 'Prikaz dijaloškog okvira Saveas FileName = Application.GetSaveAsFilename ("MyFileName.xls", _ "Excel datoteke,*. Xls", 1, "Odaberite svoju mapu i naziv datoteke") "Korisnik nije" t spremanje datoteke Ako je TypeName (FileName) = "Boolean" Zatim izađite iz Sub 'Spremite radnu knjigu ActiveWorkbook.SaveAs FileName End Sub 

Makro SaveFile koristi GetSaveAsFilename metodu Objekta aplikacije za otvaranje dijaloškog okvira Spremi kao, dodjeljivanje naziva datoteke i odabir mjesta za spremanje radne knjige.

Pa da, dečki, evo kako možete koristiti dijaloški okvir za otvaranje i spremanje datoteka pomoću VBA -a. Nadam se da je bilo od pomoći. Ako imate bilo kakvih nedoumica u vezi s ovim člankom ili bilo kojom drugom VBA temom, pitajte u odjeljku komentara ispod.

Koristite zatvorenu radnu knjigu kao bazu podataka (DAO) koristeći VBA u programu Microsoft Excel | Za korištenje zatvorene radne knjige kao baze podataka s DAO vezom upotrijebite ovaj isječak VBA u Excelu.

Koristite zatvorenu radnu knjigu kao bazu podataka (ADO) koristeći VBA u programu Microsoft Excel | Za korištenje zatvorene radne knjige kao baze podataka s ADO vezom upotrijebite ovaj isječak VBA u Excelu.

Početak korištenja Excel VBA korisničkih obrazaca | Za umetanje podataka u bazu podataka koristimo obrasce. Korisnički obrasci programa Excel korisni su za dobivanje informacija od korisnika. Evo kako biste trebali početi s VBA korisničkim oblicima.

Promijenite vrijednost/sadržaj nekoliko kontrola UserForm pomoću VBA u Excelu | Za promjenu sadržaja kontrola korisničkog oblika upotrijebite ovaj jednostavan isječak VBA.

Spriječite zatvaranje korisničkog oblika kada korisnik klikne gumb x pomoću VBA u Excelu | Da bismo spriječili zatvaranje korisničkog oblika kada korisnik klikne gumb x obrasca, koristimo događaj UserForm_QueryClose.

Popularni članci:

50 Excel prečaca za povećanje vaše produktivnosti | Budite brži u izvršavanju svojih zadataka. Ovih 50 prečaca učinit će da radite još brže na Excelu.

Funkcija VLOOKUP u Excelu | Ovo je jedna od najčešće korištenih i popularnih funkcija programa Excel koja se koristi za traženje vrijednosti iz različitih raspona i listova.

COUNTIF u Excelu 2016 | Brojte vrijednosti s uvjetima pomoću ove nevjerojatne funkcije. Ne morate filtrirati svoje podatke da biste računali određenu vrijednost. Funkcija Countif bitna je za pripremu vaše nadzorne ploče.

Kako koristiti funkciju SUMIF u Excelu | Ovo je još jedna bitna funkcija nadzorne ploče. To vam pomaže pri zbrajanju vrijednosti u posebnim uvjetima