VBA GetFolder & GetFile (Nabavite svojstva datoteka i mapa)

Ovaj će vodič pokazati kako se koriste metode GetFolder i GetFile FileSystemObject.

Dobijte svojstva mape i datoteke pomoću VBA FileSystemObject

Metoda GetFolder vraća objekt Folder koji odgovara mapi na navedenoj putanji i omogućuje vam pristup njenim svojstvima. Metoda GetFile čini isto s navedenom datotekom.

Postavi VBA referencu

Prvo, kada koristite FileSystemObjects, možda ćete morati postaviti referencu na biblioteku vremena izvođenja VB skripte: otvorite uređivač Visual Basic (ALT+F11), odaberite Alati> Reference s padajućeg izbornika i označite potvrdni okvir 'Microsoft Scripting Runtime'.

FileSystemObject

Drugo, morate stvoriti FileSystemObject:

12 Zatamnite FSO kao novi FileSystemObjectPostavi FSO = CreateObject ("Scripting.FileSystemObject")

Sada imate pristup GetFolderu i drugim metodama FileSystemObject.

Korištenje GetFolder metode

Nakon što navedete mapu kojoj želite pristupiti

1 Postavi fld = FSO.GetFolder ("C: \ Src \")

možete kopirati:

1 fld.Kopirajte "C: \ NewFolder \"

premjestiti ga:

1 fld.Move "C: \ NewFolder \"

Obriši:

1 fld.Brisati

ili stvorite novu tekstualnu datoteku u njoj:

1 fld.CreateTextFile "NewTextFile.txt"

Pomoću ove metode dobivate pristup svojstvima mape kao što su njezini atributi (fld.Attributes), datum i vrijeme kada je stvorena (fld.DateCreated), posljednji pristup (fld.DateLastAccessed), posljednja izmjena (fld.DateLastModified ), slovo pogona (fld.Drive), njegovo ime i kratki naziv (fld.Name, fld.ShortName), njegov put i kratki put (fld.Path, fld.HortPath), njegova veličina (fld.Veličina), upišite (fld.Type), njegovu nadređenu mapu (fld.ParentFolder), provjerite radi li se o korijenskoj mapi (fld.IsRootFolder) ili možete pregledavati, brojati itd. njene datoteke (fld.Files) ili podmape (fld. Podmape).

Spajanje svega u postupak izgledalo bi ovako:

123456789101112131415161718192021222324 Sub FSOGetFolder ()Zatamnite FSO kao novi FileSystemObjectPostavi FSO = CreateObject ("Scripting.FileSystemObject")Postavi fld = FSO.GetFolder ("C: \ Src \")Debug.Print fld.DateCreatedDebug.Print fld.DriveIspravljanje ispisa fld.NazivDebug.Print fld.ParentFolderIspravljanje ispisa fld.PathDebug.Print fld.ShortPathIspravljanje ispisa fld.VeličinaDebug.Print fld.Files.CountIspravljanje ispisa fld.TypeZa svaki preklop U fld.SubFoldersOtklanjanje pogrešaka.Otisni preklop.NazivSljedeći preklopZa svaki fil U fld.DatotekeOtklanjanje pogrešaka. Ispis fil.NazivSljedeći filKraj podm

Imajte na umu da ćete pritisnuti Ctrl+G kako biste vidjeli rezultat naredbe Debug.Print u neposrednom prozoru VBA.

Metoda GetParentFolderName

Alternativno na gore spomenuti način, možete pristupiti nazivu nadređene mape mape pomoću ovog koda:

1234 Zatamnite FSO kao novi FileSystemObjectPostavi FSO = CreateObject ("Scripting.FileSystemObject")ParentFold = FSO.GetParentFolderName ("C: \ ParentTest \ Test \")

ParentFold će u ovom slučaju biti "C: \ ParentTest \".

Imajte na umu da ova metoda neće riješiti put, niti provjerava postojanje navedene staze.

Metoda GetSpecialFolder

Metodom GetSpecialFolder, prosljeđivanjem 0, 1 ili 2 kao argumenta, možete dobiti put do Windows mape (s datotekama koje je instalirao operacijski sustav Windows), putanju do sistemske mape (s knjižnicama, fontovima i upravljačkim programima uređaja) i privremene put mape (mapa koja se koristi za spremanje privremenih datoteka).

1234567 Sub FSOGetSpecialFolder ()Zatamnite FSO kao novi FileSystemObjectPostavi FSO = CreateObject ("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder (0) ‘Rezultat može biti: C: \ Windows \ System32Kraj podm

Metoda GetFile

Metodu GetFile možete koristiti na vrlo sličan način kao i metodu GetFolder. Nakon što navedete datoteku kojoj želite pristupiti

1 Postavi fil = FSO.GetFile ("C: \ Src \ Test.xlsx")

možete kopirati:

1 fil.Kopiraj "C: \ Dst \"

premjestiti ga:

1 fil.Move "C: \ Dst \"

Obriši:

1 fil.Brisati

ili ga otvorite kao objekt TextStream:

1 fil.OpenAsTextStream

Svojstvima datoteke, kao što su njezini atributi, datum i vrijeme kada je stvorena, zadnji pristup ili posljednja izmjena, slovo, naziv i kratki naziv pogona, put i kratki put, veličina, vrsta i njezina nadređena mapa mogu se pristupiti na isti način kako je opisano u metodi GetFolder.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave