Johdanto FileSystemObject-tiedostoon
Miksi käytämme VBA: ta? Käytämme VBA: ta automatisoidaksemme tehtäviä. Yleensä excel-työssä työskentelemme vain riveillä ja sarakkeilla olevien tietojen kanssa, jotka ovat taulukoiden tai vastaavien muodossa. Entä tiedostot ja kansiot, jotka eivät kuulu exceliin? Entä jos meidän on käytettävä tietoja mistä tahansa tiedostosta, miten pääsemme niihin. FileSystemObject on tässä hyödyllinen.
FileSystemObject- tai FSO-tiedostoa käytetään tiedostojärjestelmään pääsyyn tietokoneelta. Tämän avulla voimme käyttää kaikkia tiedostoja kansioihin, joita meillä on tällä hetkellä työskentelevällä tietokoneella. FSO on periaatteessa API-työkalu, jota käytetään pääsyyn muihin tiedostoihin. Nyt tätä ei ole oletuksena VBA: ssa, josta opitaan myöhemmin tässä artikkelissa. Ymmärrämme ensin, mikä FSO on. Aikaisemmin VBA: lla meillä oli DIR-toiminto, jota kutsuttiin pääsemään muihin tiedostoihin ja kansioihin tietokoneelta. DIR-toiminnon koodaus oli erittäin monimutkainen työskennellä. Mutta FSO: ssa asiat ovat erilaisia.
Nyt on neljä tyyppiä esineitä, joihin FSO voi päästä, ja ne ovat seuraavat:
- Asema: Tätä käytetään pääsyyn mainittuun asemaan.
- Kansio: Tätä käytetään pääsyyn mainittuun kansioon.
- Tiedosto: Tätä käytetään pääsyyn mainittuun tiedostoon.
- Tekstivirta: Tämän objektin avulla voimme lukea tai kirjoittaa tekstitiedoston.
Jokaisella yllä luetellulla esineellä on erilaisia menetelmiä niiden käyttämiseen. Esimerkiksi, jos haluamme kopioida tiedoston, käytämme CopyFile-menetelmää tai poistamme kansion, käytämme DeleteFolder-menetelmää ja niin edelleen.
Kuten olen jo puhunut edellä, FSO: ta ei ole oletuksena läsnä VBA: ssa, on olemassa kaksi tapaa ottaa FSO käyttöön VBA: ssa.
- Ensimmäinen menetelmä on asettamalla viite.
- Toinen tapa on viitata kirjastoon koodista.
Vaikka toinen menetelmä on monimutkaisempi, on aina suositeltavaa käyttää ensimmäistä menetelmää, joka on hyvin yksinkertainen. Seuraakaamme näitä perusvaiheita.
Siirry VBA: ssa Työkalut-välilehteen ja siirry sitten Viitteet,
Ohjattu toiminto tulee näkyviin, valitse Microsoft Scripting Runtime alla olevan kuvan mukaisesti ja paina OK.
Nyt voimme käyttää FSO: ta VBA: ssa. Nyt voimme käyttää tätä muutamien esimerkkien avulla ja oppia siitä.
Kuinka käyttää VBA FileSystemObject -sovellusta Excelissä?
Alla on erilaisia esimerkkejä VBA FileSystemObject -toiminnon käyttämisestä Excelissä
Voit ladata tämän VBA FileSystemObject Excel -mallin täältä - VBA FileSystemObject Excel TemplateVBA FileSystemObject - esimerkki # 1
Ennen kuin alamme käyttää FSO: ta Vbassa, anna meidän ensin oppia luomaan esiintymiä VBA: ssa.
Vaihe 1: Luo alamoduulissa alamenettely,
Koodi:
Sub Newfso () Loppu Sub
Vaihe 2: Ilmoita muuttuja nimellä FileSystemObject alla olevan kuvan mukaisesti,
Koodi:
Sub Newfso () himmentää A FileSystemObject End Sub -kohdassa
Vaihe 3: Nyt meidän on luotava ilmentymä, koska FSO on objekti, joka käyttää SET-käskyä alla kuvatulla tavalla,
Koodi:
Sub Newfso () himmentää A kuin FileSystemObject Set A = Uusi FileSystemObject End Sub
Nyt tämä lausunto antaa meille mahdollisuuden luoda tai muokata tiedostoja tai kansioita FSO: n avulla.
Vaihe 4: Nyt näemme IntelliSense-ominaisuuden, kun FSO on otettu käyttöön. Käytä pisteoperaattoria seuraavasti:
Koodi:
Sub Newfso () himmentää A FileSystemObject -joukkona A = Uusi FileSystemObject A. End sub
Se antoi meille erilaisia vaihtoehtoja IntelliSense-ominaisuuden avulla. Näin luomme ilmentymät FSO: lla.
VBA FileSystemObject - esimerkki 2
Nyt kun olemme luoneet esiintymän esimerkissä 1, siirrymme eteenpäin käyttämään sitä ja tarkistamme, onko tiedosto tai kansio olemassa.
Vaihe 1: Kun olemme luoneet uuden FileSystemObject-tiedoston, käytä IF-käskyä selvittääksesi, onko kansiota vai ei, seuraavasti:
Koodi:
Sub Newfso () himmentää A kuin FileSystemObject Aseta A = Uusi FileSystemObject Jos A.FolderExists ("C: \ Users \ Public \ Project"), sitten End Sub
Vaihe 2: Jos kansio on olemassa, haluamme näyttää kansion olemassa, ja jos ei, haluamme sen näyttävän, että kansiota ei ole.
Koodi:
Sub Newfso () himmentää A kuin FileSystemObject Aseta A = Uusi FileSystemObject Jos A.FolderExists ("C: \ Users \ Public \ Project") Sitten MsgBox "Kansio on olemassa" Muu MsgBox "Kansiota ei ole" End if End Sub
Vaihe 3: Suorita nyt yllä oleva koodi ja katso tulos seuraavalla tavalla,
Kansio on olemassa työpöydälläni, joten saamme viestin, että kansio on olemassa.
VBA FileSystemObject - esimerkki 3
Nyt kun keskustelemme siitä, että FSO: lla on erilaisia esineitä, kuten asemia. Annetaan selville, kuinka paljon tilaa minulla on E-asemassani.
Vaihe 1: Aloita toisella osaprosessilla seuraavasti:
Koodi:
Sub Newfso1 () Loppu Sub
Vaihe 2: Julista muuttuja nyt FileSystemObject-tiedostona ja aseta se uuteen esiintymään seuraavasti:
Koodi:
Sub Newfso1 () himmentää A FileSystemObject -sarjana A = New FileSystemObject End Sub Sub
Vaihe 3: Koska nyt käytämme Drive-ominaisuutta, ilmoita yksi muuttuja Drive-tyypiksi ja yksi muuttuja kaksinkertaiseksi pitämäänksesi tilan tilaa seuraavasti:
Koodi:
Sub Newfso1 () himmentää A kuin FileSystemObject-joukko A = Uusi FileSystemObject himmentää D asemana, Dspace kaksoispäätynä Sub
Vaihe 4: Nyt luomme uusi asemaobjekti alla olevan kuvan mukaisesti,
Koodi:
Sub Newfso1 () Dim A kuin FileSystemObject Set A = Uusi FileSystemObject Dim D asemana, Dspace kaksoisjoukkona D = A.GetDrive ("C:") End Sub
Tämä on yksi FSO-menetelmistä, joita käytämme aseman käyttämiseen.
Vaihe 5: Käytämme toista FSO-menetelmää aseman vapaan tilan saamiseksi ja sen tallentamiseksi muuttujalle, joka on määritelty aseman tallentamiseksi,
Koodi:
Sub Newfso1 () Dim A kuin FileSystemObject Set A = Uusi FileSystemObject Dim D asemana, Dspace kaksoisjoukkona D = A.GetDrive ("C:") Dspace = D.FreeSpace End Sub
Vaihe 6: Lasketaan nyt tila GB: nä seuraavasti:
Koodi:
Sub Newfso1 () Dim A kuin FileSystemObject Set A = Uusi FileSystemObject Dim D asemana, Dspace kaksoisjoukkona D = A.GetDrive ("C:") Dspace = D.FreeSpace Dspace = Pyöreä ((Dspace / 1073741824), 2) End Sub
Vaihe 7: Näytä nyt Drive-tilaa varten tallennettu arvo käyttämällä msgbox-toimintoa seuraavasti:
Koodi:
Sub Newfso1 () Dim A kuin FileSystemObject Set A = Uusi FileSystemObject Dim D asemana, Dspace kaksoisjoukkona D = A.GetDrive ("C:") Dspace = D.FreeSpace Dspace = Pyöreä ((Dspace / 1073741824), 2) MsgBox "Asemalla" & D & "on" & Dspace & "GB vapaata tilaa" End Sub
Vaihe 8: Suorita yllä oleva koodi saadaksesi selville alla olevan tuloksen,
VBA FileSystemObject - esimerkki 4
Nyt luodaan uusi kansio määritettyyn sijaintiin FSO: n avulla.
Vaihe 1: Aloitetaan jälleen toisella osaprosessilla seuraavasti:
Koodi:
Sub Newfso2 () Loppu Sub
Vaihe 2: Seuraakaamme samoja vaiheita ja luodaan esimerkki seuraavasti:
Koodi:
Sub Newfso2 () himmentää A FileSystemObject -sarjana A = New FileSystemObject End Sub Sub
Vaihe 3: Nyt käytämme Luo kansio -menetelmää uuden kansion luomiseen määritettyyn sijaintiin,
Koodi:
Sub Newfso2 () himmentää A kuin FileSystemObject Set A = Uusi FileSystemObject A.CreateFolder ("C: \ Users \ Public \ Project \ FSOExample") End Sub
Vaihe 4: Suorita yllä oleva koodi ja katso tulos työpöydällä seuraavasti:
Olemme luoneet onnistuneesti uuden kansion määritettyyn sijaintiin.
Muistettavat asiat VBA FileSystemObject -sovelluksessa
- FSO on API-sovellustyökalu.
- FSO ei ole oletuksena käytettävissä VBA: ssa.
- FSO: n avulla voimme luoda, muokata tai lukea tiedostoja ja kansioita tietokoneella.
- Voimme käyttää FSO: ta myös verkkoasemamme.
Suositellut artikkelit
Tämä on opas VBA FileSystemObject -sovellukseen. Tässä keskustellaan siitä, kuinka VBA FileSystemObject -sovellusta voidaan käyttää Excelissä, sekä joitain käytännöllisiä esimerkkejä ja ladattavaa Excel-mallia. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -
- Täydellinen opas VBA-työkirjaan
- Epäsuora toiminto Excelissä
- VBA-laskentatoiminto
- Excel XOR -toiminto