VBA GetFolder & GetFile (Obțineți proprietățile fișierului și folderului)

Acest tutorial va arăta cum să utilizați metodele GetFolder și GetFile ale FileSystemObject.

Obțineți proprietăți de folder și fișier cu VBA FileSystemObject

Metoda GetFolder returnează un obiect Folder corespunzător folderului dintr-o cale specificată și vă permite să accesați proprietățile sale. Metoda GetFile face același lucru cu fișierul specificat.

Setați referința VBA

În primul rând, atunci când utilizați FileSystemObjects, poate fi necesar să setați o referință la biblioteca de execuție a scriptului VB: deschideți Editorul Visual Basic (ALT + F11), selectați Instrumente> Referințe din meniul derulant și bifați caseta de selectare a „Microsoft Scripting Runtime”.

FileSystemObject

În al doilea rând, trebuie să creați FileSystemObject:

12 Dim FSO ca nou FileSystemObjectSetați FSO = CreateObject ("Scripting.FileSystemObject")

Acum aveți acces la GetFolder și la celelalte metode FileSystemObject.

Utilizarea metodei GetFolder

După specificarea folderului pe care doriți să îl accesați

1 Setați fld = FSO.GetFolder ("C: \ Src \")

îl puteți copia:

1 fld.Copy "C: \ NewFolder \"

mișcă-l:

1 fld.Move "C: \ NewFolder \"

sterge-l:

1 fld. Ștergeți

sau creați un fișier text nou în acesta:

1 fld.CreateTextFile „NewTextFile.txt”

Prin utilizarea acestei metode, aveți acces la proprietățile folderului, cum ar fi atributele sale (fld.Attributes), data și ora când a fost creat (fld.DateCreated), ultima accesare (fld.DateLastAccessed), ultima modificare (fld.DateLastModified ), litera unității sale (fld.Drive), numele și numele scurt (fld.Name, fld.ShortName), calea și calea scurtă (fld.Path, fld.ShortPath), dimensiunea (fld.Size), tastați (fld.Type), folderul părinte (fld.ParentFolder), verificați dacă este un folder rădăcină (fld.IsRootFolder) sau dacă puteți parcurge, număra etc. fișierele sale (fld.Files) sau subfoldere (fld. SubFoldere).

A pune totul împreună într-o procedură ar arăta astfel:

123456789101112131415161718192021222324 Sub FSOGetFolder ()Dim FSO ca nou FileSystemObjectSetați FSO = CreateObject ("Scripting.FileSystemObject")Setați fld = FSO.GetFolder ("C: \ Src \")Debug.Print fld.DateCreatedDebug.Print fld.DriveDebug.Print fld.NameDebug.Print fld.ParentFolderDebug.Print fld.PathDebug.Print fld.ShortPathDebug.Print fld.SizeDebug.Print fld.Files.CountDebug.Print fld.TypePentru fiecare pliere în fld.SubFoldersDebug.Print fold.NameUrmătorul foldPentru fiecare fișier în fișiereDebug.Print fil.NameUrmătorul filSfârșitul Sub

Vă rugăm să rețineți că trebuie să apăsați Ctrl + G pentru a vedea rezultatul comenzii Debug.Print în fereastra imediată VBA.

Metoda GetParentFolderName

Alternativ la modul menționat mai sus, puteți accesa numele folderului părinte al unui folder folosind acest cod:

1234 Dim FSO ca nou FileSystemObjectSetați FSO = CreateObject ("Scripting.FileSystemObject")ParentFold = FSO.GetParentFolderName ("C: \ ParentTest \ Test \")

ParentFold va fi în acest caz „C: \ ParentTest \”.

Vă rugăm să rețineți că această metodă nu va rezolva calea și nici nu verifică existența căii specificate.

Metoda GetSpecialFolder

Cu metoda GetSpecialFolder, trecând 0, 1 sau 2 ca argument, puteți obține calea folderului Windows (cu fișiere instalate de sistemul de operare Windows), calea folderului de sistem (cu biblioteci, fonturi și drivere de dispozitiv) și temporare cale folder (folderul care este utilizat pentru stocarea fișierelor temporare), respectiv.

1234567 Sub FSOGetSpecialFolder ()Dim FSO ca nou FileSystemObjectSetați FSO = CreateObject ("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder (0) ‘Rezultatul poate fi: C: \ Windows \ System32Sfârșitul Sub

Metoda GetFile

Puteți utiliza metoda GetFile într-un mod foarte similar cu metoda GetFolder. După specificarea fișierului pe care doriți să îl accesați

1 Setați fil = FSO.GetFile ("C: \ Src \ Test.xlsx")

îl puteți copia:

1 fil.Copy "C: \ Dst \"

mișcă-l:

1 fil.Move "C: \ Dst \"

sterge-l:

1 fil.Elete

sau deschideți-l ca obiect TextStream:

1 fil.OpenAsTextStream

Proprietățile fișierului, cum ar fi atributele sale, data și ora când a fost creat, ultima accesare sau ultima modificare, litera unității, numele și numele scurt, calea și calea scurtă, dimensiunea, tipul și folderul părinte pot fi accesate în același mod așa cum este descris la metoda GetFolder.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave