Tämä opetusohjelma osoittaa, kuinka käyttää FileSystemObjectin GetFolder- ja GetFile -menetelmiä.
Hanki kansio- ja tiedosto -ominaisuudet VBA FileSystemObjectin avulla
GetFolder -menetelmä palauttaa kansio -objektin, joka vastaa määritetyn polun kansiota, ja antaa sinun käyttää sen ominaisuuksia. GetFile -menetelmä tekee saman määritetyn tiedoston kanssa.
Aseta VBA -viite
Ensinnäkin, kun käytät FileSystemObjectsia, sinun on ehkä asetettava viittaus VB-komentosarjan ajonaikaiseen kirjastoon: avaa Visual Basic Editor (ALT+F11), valitse Työkalut> Viitteet avattavasta valikosta ja valitse valintaruutu "Microsoft Scripting Runtime".
FileSystemObject
Toiseksi sinun on luotava FileSystemObject:
12 | Himmennä FSO uutena FileSystemObjectinaAseta FSO = CreateObject ("Scripting.FileSystemObject") |
Nyt sinulla on pääsy GetFolderiin ja muihin FileSystemObject Methods -menetelmiin.
GetFolder -menetelmän käyttö
Kun olet määrittänyt kansion, jota haluat käyttää
1 | Aseta fld = FSO.GetFolder ("C: \ Src \") |
voit kopioida sen:
1 | fld.Kopioi "C: \ NewFolder \" |
Siirrä se:
1 | fld.Siirrä "C: \ NewFolder \" |
Poista se:
1 | fld.Delete |
tai luo siihen uusi tekstitiedosto:
1 | fld.CreateTextFile "NewTextFile.txt" |
Tällä menetelmällä pääset käsiksi kansion ominaisuuksiin, kuten sen määritteisiin (fld.Attributes), sen luomisen päivämäärään ja kellonaikaan (fld.DateCreated), viimeiseen käyttökertaan (fld.DateLastAccessed), viimeiseen muokkaukseen (fld.DateLastModified ), sen aseman kirjain (fld.Drive), sen nimi ja lyhyt nimi (fld.Name, fld.ShortName), sen polku ja lyhyt polku (fld.Path, fld.ShortPath), sen koko (fld.Size), sen nimi tyyppi (fld.Type), sen pääkansio (fld.ParentFolder), tarkista onko se juurihakemisto (fld.IsRootFolder) tai voit selata, laskea jne. sen tiedostoja (fld.Files) tai alikansioita (fld. Alikansioita).
Tämän kaiken yhdistäminen menettelyyn näyttäisi tältä:
123456789101112131415161718192021222324 | Sub FSOGetFolder ()Himmennä FSO uutena FileSystemObjectinaAseta FSO = CreateObject ("Scripting.FileSystemObject")Aseta fld = FSO.GetFolder ("C: \ Src \")Debug.Print fld.DateCreatedDebug.Print fld.DriveVirheenkorjaus Tulosta kansion nimiDebug.Print fld.ParentFolderDebug.Print fld.PathDebug.Print fld.ShortPathVirheenkorjaus Tulosta kokoDebug.Print fld.File.CountDebug.Print fld.TypeJokaista taitetta varten alikansioissaVirheenkorjaus Tulosta taitto NimiSeuraava taittoJokaista tiedostoa varten TiedostotDebug. Tulosta fil. NimiSeuraava filEnd Sub |
Huomaa, että paina Ctrl+G nähdäksesi Debug.Print -komennon tuloksen VBA -välittömässä ikkunassa.
GetParentFolderName -menetelmä
Vaihtoehtoisesti edellä mainitulla tavalla voit käyttää kansion pääkansion nimeä käyttämällä tätä koodia:
1234 | Himmennä FSO uutena FileSystemObjectinaAseta FSO = CreateObject ("Scripting.FileSystemObject")ParentFold = FSO.GetParentFolderName ("C: \ ParentTest \ Test \") |
ParentFold on tässä tapauksessa "C: \ ParentTest \".
Huomaa, että tämä menetelmä ei ratkaise polkua eikä tarkista määritetyn polun olemassaoloa.
GetSpecialFolder -menetelmä
GetSpecialFolder -menetelmällä antamalla argumentiksi 0, 1 tai 2 saat Windows -kansion polun (Windows -käyttöjärjestelmän asentamat tiedostot), järjestelmäkansion polun (kirjastoilla, kirjasimilla ja laiteajureilla) ja väliaikaisen kansion polku (kansio, jota käytetään väliaikaisten tiedostojen tallentamiseen).
1234567 | Sub FSOGetSpecialFolder ()Himmennä FSO uutena FileSystemObjectinaAseta FSO = CreateObject ("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder (0) ’Tulos voi olla: C: \ Windows \ System32End Sub |
GetFile -menetelmä
Voit käyttää GetFile -menetelmää hyvin samalla tavalla kuin GetFolder -menetelmää. Kun olet määrittänyt tiedoston, jota haluat käyttää
1 | Aseta fil = FSO.GetFile ("C: \ Src \ Test.xlsx") |
voit kopioida sen:
1 | fil.Copy "C: \ Dst \" |
Siirrä se:
1 | fil.Move "C: \ Dst \" |
Poista se:
1 | fil.Delete |
tai avaa se TextStream -objektina:
1 | fil.OpenAsTextStream |
Tiedoston ominaisuuksia, kuten sen määritteitä, päivämäärää ja kellonaikaa, jolloin se luotiin, viimeksi käytettiin tai viimeksi muutettiin, sen aseman kirjainta, nimeä ja lyhyttä nimeä, polkua ja lyhyttä polkua, kokoa, tyyppiä ja sen pääkansiota voidaan käyttää samalla tavalla GetFolder -menetelmässä kuvatulla tavalla.