VBA GetFolder & GetFile (Hae tiedosto- ja kansio -ominaisuudet)

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.

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave