Použitie dialógového okna na otvorenie a uloženie zošita

Obsah:

Anonim

Už vieme, ako otvoriť alebo uložiť súbor programu Excel vo VBA. Jednoducho používame metódu Open a SaveAs objektu zošit. To však vyžaduje pevné kódovanie cesty k súboru. Väčšinou však budete chcieť, aby koncový používateľ vybral súbor pomocou grafického používateľského rozhrania alebo povedzme dialógové okno Otvoriť súbor alebo Uložiť ako, ktoré používateľovi umožní vizuálne a jednoducho vybrať umiestnenie súboru.

V tomto článku sa venujeme kódu použitému na zobrazenie dialógového okna otvoreného zošita a uloženia ako dialógového okna.

Prikladám pracovný zošit, ktorý si môžete stiahnuť. Zošit priložený k tomuto článku obsahuje tri makrá

Kód VBA na otvorenie súboru pomocou dialógového okna Otvoriť súbor

V tomto kóde použijeme metódu aplikácie GetOpenFilename. Syntax metódy GetOpenFilename je:

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

[FileFilter]: Môžete definovať, aby sa vo vybranom priečinku zobrazoval iba jeden druh súboru. Ak napíšete „súbory programu Excel, *.xlsx, *.xls, *.xlsm“ atď., Potom sa z priečinka v dialógovom okne otvorenia súboru zobrazia iba súbory programu Excel.

[FilterIndex]:Ide o počet filtrov súborov, ktoré chcete použiť.

[Názov]: Názov dialógového okna.

[ButtonText]:Slúži na zadanie textu tlačidla. Nedôležitý.

[MultiSelect]: Je to booleovská premenná. Ak ho nastavíte na hodnotu True alebo 1, budete môcť vybrať viac ako jeden súbor. Ak ho nastavíte na hodnotu false, môžete vybrať iba jeden súbor.

Dosť bolo teórie. Urobme pár kúziel.

Kód VBA na otvorenie jedného súboru naraz

Možnosť Explicitná podskupina OpenOneFile () Dim FileName As Variant 'Zobrazenie dialógového okna otvoreného súboru FileName = Application.GetOpenFilename ("súbory programu Excel,*. Xls", _ 1, "vyberte jeden súbor na otvorenie",, False)' Používateľ neurobil 't select a file If TypeName (FileName) = "Boolean" Then Exit Sub' Open the workbook workbooks.Open FileName End Sub 

Ako to funguje?

Keď spustíte tento segment kódu, metóda GetOpenFilename pre objekt aplikácie otvorí dialógové okno Otvoriť súbor. Názov dialógového okna bude „Vybrať jeden súbor na otvorenie“, ako sme definovali v kóde. Ak vyberiete súbor, spustí sa Worbook.Open kód a súbor sa otvorí. Ak nevyberiete súbor, podponuka sa ukončí bez spustenia zošita. Otvorte kód.

Kód VBA na otvorenie jedného alebo viacerých súborov naraz

Tento segment kódu otvorí dialógové okno otvorenia súboru, ale budete môcť vybrať viac ako jeden súbor súčasne.

Sub OpenMultipleFiles () Dim FileName As Variant, f As Integer 'Displaying the open file dialog box FileName = Application.GetOpenFilename ("Excel-files,*. Xlsx", _ 1, "Select One or more Files to Open",, True ) 'Užívateľ nevybral súbor If TypeName (FileName) = "Boolean" Then Exit Sub' Otvorte všetky zošity vybrané užívateľom pre f = 1 Do zošitov UBound (FileName). Otvorte FileName (f) Ďalej f Koniec Sub 

Všimnite si toho, že sme tu nastavili premennú multiselect na True. To umožní viacnásobný výber súboru.

Otvorte kód VBA dialógové okno Uložiť ako

Na otvorenie dialógového okna Uložiť ako použijeme metódu GetSaveAsFilename objektu Application. Syntax metódy je:

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

[InitialFileName]:Počiatočný názov súboru. Ak súbor pri jeho uložení nepremenujete, váš súbor bude uložený s týmto názvom.

[FileFilter]: Môžete definovať, aby sa vo vybranom priečinku zobrazoval iba jeden druh súboru. Ak napíšete „súbory programu Excel, *.xlsx, *.xls, *.xlsm“ atď., Potom sa z priečinka v dialógovom okne otvorenia súboru zobrazia iba súbory programu Excel.

[FilterIndex]: Index filtra súboru.

[Názov]:Názov dialógového okna.

[ButtonText]:Toto sa používa v systéme Mac na zmenu názvu tlačidla.

Pri kódovaní postupujte podľa nižšie uvedených pokynov

Sub SaveFile () Dim FileName As Variant 'Displaying the saveas dialog box FileName = Application.GetSaveAsFilename ("MyFileName.xls", _ "Excel files,*. Xls", 1, "Select your folder and filename")' User didn ' t uložiť súbor If TypeName (FileName) = "Boolean" Then Exit Sub 'Uložiť zošit ActiveWorkbook.SaveAs FileName End Sub 

Makro SaveFile používa metódu GetSaveAsFilename objektu Application na otvorenie dialógového okna Uložiť ako, priradenie názvu súboru a výber umiestnenia na uloženie zošita.

Takže áno, chlapci, takto môžete použiť dialógové okno na otváranie a ukladanie súborov pomocou VBA. Dúfam, že to bolo užitočné. Ak máte akékoľvek pochybnosti týkajúce sa tohto článku alebo akejkoľvek inej témy VBA, opýtajte sa ich v sekcii komentárov nižšie.

Použite uzavretý zošit ako databázu (DAO) pomocou jazyka VBA v programe Microsoft Excel | Ak chcete použiť uzavretý zošit ako databázu s pripojením DAO, použite tento útržok VBA v programe Excel.

Použite uzavretý zošit ako databázu (ADO) pomocou jazyka VBA v programe Microsoft Excel | Ak chcete použiť uzavretý zošit ako databázu s pripojením ADO, použite tento útržok VBA v programe Excel.

Začíname s UserForms programu Excel VBA | Na vkladanie údajov do databázy používame formuláre. Excel UserForms sú užitočné pri získavaní informácií od používateľa. Tu je návod, ako by ste mali začať s užívateľskými formulármi VBA.

Zmeňte hodnotu/obsah niekoľkých ovládacích prvkov UserForm pomocou jazyka VBA v programe Excel | Na zmenu obsahu používateľských formulárov použite tento jednoduchý útržok VBA.

Pomocou VBA v programe Excel zabráňte zatvoreniu používateľského formulára, keď používateľ klikne na tlačidlo x | Aby sa používateľský formulár nezatvoril, keď používateľ klikne na tlačidlo x vo formulári, použijeme udalosť UserForm_QueryClose.

Populárne články:

50 skratiek programu Excel na zvýšenie produktivity | Vykonajte svoju úlohu rýchlejšie. Týchto 50 skratiek vám umožní pracovať ešte rýchlejšie v Exceli.

Funkcia VLOOKUP v programe Excel | Toto je jedna z najpoužívanejších a najobľúbenejších funkcií programu Excel, ktorá sa používa na vyhľadávanie hodnôt z rôznych rozsahov a hárkov.

COUNTIF v Exceli 2016 | Počítajte hodnoty s podmienkami pomocou tejto úžasnej funkcie. Na počítanie konkrétnej hodnoty nie je potrebné filtrovať údaje. Funkcia Countif je potrebná na prípravu palubnej dosky.

Ako používať funkciu SUMIF v programe Excel | Toto je ďalšia zásadná funkcia palubnej dosky. To vám pomôže zhrnúť hodnoty za konkrétnych podmienok