Työkirjan avaaminen ja tallentaminen valintaikkunan avulla

Sisällysluettelo:

Anonim

Tiedämme jo, kuinka avata tai tallentaa Excel -tiedosto VBA: han. Käytämme yksinkertaisesti työkirjaobjektin Open- ja SaveAs -menetelmää. Mutta tämä edellyttää tiedoston polun kovaa koodausta. Mutta useimmiten haluat, että loppukäyttäjä valitsee tiedoston graafisella käyttöliittymällä tai sanoo Tiedosto Avaa tai Tallenna nimellä -valintaikkunan, jonka avulla käyttäjä voi valita tiedoston sijainnin visuaalisesti ja helposti.

Tässä artikkelissa käsitellään koodia, jota käytetään työkirjan avoimen valintaikkunan näyttämiseen ja tallentamiseen valintaikkunaksi.

Olen liittänyt työkirjan, jonka voit ladata. Tämän artikkelin liitteenä oleva työkirja sisältää kolme makroa

VBA -koodi tiedoston avaamiseen Avaa tiedosto -valintaikkunan avulla

Tässä koodissa käytämme GetOpenFilename -sovellusmenetelmää. GetOpenFilename -menetelmän syntaksi on:

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

[FileFilter]: Voit määrittää näyttämään vain yhden tyyppisen tiedoston valitussa kansiossa. Jos kirjoitat "Excel-Files, *.xlsx, *.xls, *.xlsm" jne., Vain Excel-tiedostot näkyvät tiedoston avaamisen valintaikkunan kansiosta.

[Suodatinindeksi]:Se on tiedostojen suodattimien määrä, joita haluat käyttää.

[Otsikko]: Valintaikkunan otsikko.

[ButtonText]:Painiketekstin määrittäminen. Ei tärkeää.

[Monivalinta]: Se on Boolen muuttuja. Jos asetat sen arvoon True tai 1, voit valita useamman kuin yhden tiedoston. Jos asetat arvon epätosi, voit valita vain yhden tiedoston.

Teoria riittää. Tehdään muutama loitsu.

VBA -koodi yhden tiedoston avaamiseksi kerrallaan

Vaihtoehto Explicit Sub OpenOneFile () Dim FileName Variant 'Avoimen tiedoston valintaikkunan näyttäminen FileName = Application.GetOpenFilename ("Excel-tiedostot,*. Xls", _ 1, "Valitse yksi avattava tiedosto", False)' Käyttäjä ei Älä valitse tiedostoa Jos TypeName (FileName) = "Boolean" Sitten Exit Sub 'Avaa työkirjan työkirjat. Avaa FileName End Sub 

Kuinka se toimii?

Kun suoritat tämän koodisegmentin, sovellusobjektin GetOpenFilename -menetelmä avaa Avaa tiedosto -valintaikkunan. Valintaikkunan otsikko on "Valitse yksi avattava tiedosto", kuten määritimme koodissa. Jos valitset tiedoston, Worbook.Open -koodi suoritetaan ja tiedosto avataan. Jos et valitse tiedostoa, alaosa poistuu suorittamatta työkirjaa.

VBA -koodi yhden tai useamman tiedoston avaamiseen kerrallaan

Tämä koodin osa avaa tiedoston avaamisen valintaikkunan, mutta voit valita useamman kuin yhden tiedoston kerrallaan.

Sub OpenMultipleFiles () Dim FileName Variant, f As Integer 'Avoimen tiedoston valintaikkunan näyttäminen FileName = Application.GetOpenFilename ("Excel-tiedostot,*. Xlsx", _ 1, "Valitse yksi tai useampi avattava tiedosto", True ) 'Käyttäjä ei valinnut tiedostoa Jos TypeName (FileName) = "Boolean" Sitten Exit Sub' Avaa kaikki käyttäjän valitsemat työkirjat For f = 1 to UBound (FileName) työkirjat.Open FileName (f) Next f End Sub 

Huomaa, että tässä olemme asettaneet monivalintamuuttujan arvoksi True. Tämä mahdollistaa tiedoston monivalinnan.

VBA -koodi Avaa Tallenna nimellä -valintaikkuna

Tallenna nimellä -valintaikkunan avaamiseksi käytämme sovellusobjektin GetSaveAsFilename -menetelmää. Menetelmän syntaksi on:

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

[InitialFileName]:Alkuperäinen tiedostonimi. Jos et nimeä tiedostoa uudelleen tallennuksen aikana, tiedosto tallennetaan tällä nimellä.

[FileFilter]: Voit määrittää näyttämään vain yhden tyyppisen tiedoston valitussa kansiossa. Jos kirjoitat "Excel-Files, *.xlsx, *.xls, *.xlsm" jne., Vain Excel-tiedostot näkyvät tiedoston avaamisen valintaikkunan kansiosta.

[Suodatinindeksi]: Tiedoston suodatinhakemisto.

[Otsikko]:Valintaikkunan otsikko.

[ButtonText]:Tätä käytetään Mac -järjestelmässä painikkeen nimen muuttamiseen.

Seuraa koodia alla

Sub SaveFile () Dim FileName Variant 'Tallennusvalintaikkunan näyttäminen FileName = Application.GetSaveAsFilename ("MyFileName.xls", _ "Excel -tiedostot,*. Xls", 1, "Valitse kansio ja tiedostonimi")' Käyttäjä ei tehnyt ' t tallenna tiedosto If TypeName (FileName) = "Boolean" Exit Sub 'Tallenna työkirja ActiveWorkbook.SaveAs FileName End Sub 

SaveFile -makro avaa sovellusobjektin GetSaveAsFilename -menetelmän avatakseen tallennuksen valintaikkunaksi, määrittämällä tiedoston nimen ja valitsemalla työkirjan tallennuspaikan.

Joten kyllä ​​kaverit, tällä tavalla voit käyttää valintaikkunaa tiedostojen avaamiseen ja tallentamiseen VBA: n avulla. Toivottavasti siitä oli apua. Jos sinulla on epäilyksiä tästä artikkelista tai muista VBA -aiheista, kysy alla olevasta kommenttiosasta.

Käytä suljettua työkirjaa tietokannana (DAO) käyttämällä VBA: ta Microsoft Excelissä | Jos haluat käyttää suljettua työkirjaa tietokantana DAO -yhteydellä, käytä tätä VBA -katkelmaa Excelissä.

Käytä suljettua työkirjaa tietokannana (ADO) käyttämällä VBA: ta Microsoft Excelissä | Jos haluat käyttää suljettua työkirjaa tietokantana ADO -yhteydellä, käytä tätä VBA -katkelmaa Excelissä.

Excel VBA UserForms -ohjelman käytön aloittaminen | Tietojen lisäämiseksi tietokantaan käytämme lomakkeita. Excelin käyttäjämuodot ovat hyödyllisiä tietojen saamiseksi käyttäjältä. Näin voit aloittaa VBA -käyttäjämuodoilla.

Muuta useiden UserForm-ohjausobjektien arvoa/sisältöä VBA: n avulla Excelissä | Voit muuttaa käyttäjämuodon ohjaimien sisältöä käyttämällä tätä yksinkertaista VBA -katkelmaa.

Estä käyttäjä lomakkeen sulkeminen, kun käyttäjä napsauttaa x-painiketta käyttämällä VBA: ta Excelissä | Käytämme UserForm_QueryClose -tapahtumaa, jotta käyttäjälomake ei sulkeutuisi, kun käyttäjä napsauttaa lomakkeen x -painiketta.

Suosittuja artikkeleita:

50 Excel -pikanäppäintä tuottavuuden lisäämiseksi | Nopeuta tehtävääsi. Nämä 50 pikanäppäintä tekevät työskentelystäsi entistä nopeampaa Excelissä.

VLOOKUP -toiminto Excelissä | Tämä on yksi eniten käytetyistä ja suosituimmista Excel -toiminnoista, jota käytetään arvon etsimiseen eri alueilta ja arkeilta.

COUNTIF Excel 2016: ssa | Laske arvot olosuhteilla käyttämällä tätä hämmästyttävää toimintoa. Sinun ei tarvitse suodattaa tietojasi tietyn arvon laskemiseksi. Laskutoiminto on välttämätön kojelaudan valmistelemiseksi.

SUMIF -toiminnon käyttäminen Excelissä | Tämä on toinen kojelaudan olennainen toiminto. Tämä auttaa sinua laskemaan yhteen arvot tietyissä olosuhteissa