VBA GetFolder & GetFile (Fájl- és mappatulajdonságok lekérése)

Ez az oktatóanyag bemutatja, hogyan kell használni a FileSystemObject GetFolder és GetFile metódusait.

Mappa- és fájltulajdonságok beszerzése a VBA FileSystemObject segítségével

A GetFolder metódus egy mappa objektumot ad vissza, amely megfelel a megadott elérési út mappájának, és lehetővé teszi annak tulajdonságainak elérését. A GetFile módszer ugyanezt teszi a megadott fájllal.

Állítsa be a VBA referenciát

Először a FileSystemObjects használatakor előfordulhat, hogy be kell állítania egy hivatkozást a VB szkript futási idejű könyvtárára: nyissa meg a Visual Basic Editor (ALT+F11) billentyűt, válassza az Eszközök> Referenciák lehetőséget a legördülő menüből, és jelölje be a "Microsoft Scripting Runtime".

FileSystemObject

Másodszor, létre kell hoznia a FileSystemObject fájlt:

12 Halvány FSO új fájlrendszer -objektumkéntSet FSO = CreateObject ("Scripting.FileSystemObject")

Most már hozzáférhet a GetFolderhez és a többi FileSystemObject metódushoz.

A GetFolder módszer használata

A hozzáférni kívánt mappa megadása után

1 Állítsa be az fld = FSO.GetFolder ("C: \ Src \")

lemásolhatod:

1 fld. Másolja a "C: \ NewFolder \"

mozgatni:

1 fld.Move "C: \ NewFolder \"

töröld:

1 fld.Delete

vagy hozzon létre egy új szöveges fájlt:

1 fld.CreateTextFile "NewTextFile.txt"

Ezzel a módszerrel hozzáférhet a mappa tulajdonságaihoz, például annak attribútumaihoz (fld.Attributes), a létrehozás dátumához és időpontjához (fld.DateCreated), utolsó eléréshez (fld.DateLastAccessed), utolsó módosításhoz (fld.DateLastModified ), a meghajtó betűje (fld.Drive), neve és rövid neve (fld.Name, fld.ShortName), útvonala és rövid útvonala (fld.Path, fld.ShortPath), mérete (fld.Size), típus (fld.Type), annak szülőmappája (fld.ParentFolder), ellenőrizze, hogy gyökérmappa -e (fld.IsRootFolder), vagy át tudja tekinteni a fájlokat (fld.Files) vagy almappáit (fld. Almappák).

Mindezt egy eljárásban összerakva így nézne ki:

123456789101112131415161718192021222324 Sub FSOGetFolder ()Halvány FSO új fájlrendszer -objektumkéntSet FSO = CreateObject ("Scripting.FileSystemObject")Állítsa be az fld = FSO.GetFolder ("C: \ Src")Hibakeresés.Print fld.DateCreatedHibakeresés. Nyomtatás fld. HajtásHibakeresés. Nyomtatás. NévDebug.Print fld.ParentFolderHibakeresés. Nyomtatás. ÚtvonalDebug.Print fld.ShortPathHibakeresés. Nyomtatás. MéretHibakeresés. Nyomtatási fájl. Fájlok. SzámHibakeresés. Nyomtatási mező. TípusMinden hajtogatás esetén fld.SubFoldersHibakeresés. Nyomtatás hajtása. NévKövetkező hajtogatásMinden fil In fld.FilesHibakeresés. Nyomtatás. NévKövetkező filEnd Sub

Kérjük, vegye figyelembe, hogy nyomja meg a Ctrl+G billentyűkombinációt a Debug.Print parancs megjelenítéséhez a VBA azonnali ablakában.

GetParentFolderName módszer

A fent említett módszer alternatívájaként a mappa szülőmappájának nevét a következő kóddal érheti el:

1234 Halvány FSO új fájlrendszer -objektumkéntSet FSO = CreateObject ("Scripting.FileSystemObject")ParentFold = FSO.GetParentFolderName ("C: \ ParentTest \ Test \")

A ParentFold ebben az esetben „C: \ ParentTest \” lesz.

Kérjük, vegye figyelembe, hogy ez a módszer nem oldja meg az útvonalat, és nem ellenőrzi a megadott útvonal létezését sem.

GetSpecialFolder módszer

A GetSpecialFolder módszerrel a 0, 1 vagy 2 argumentum megadásával megkaphatja a Windows mappa elérési útját (a Windows operációs rendszer által telepített fájlokkal), a rendszermappa elérési útját (könyvtárakkal, betűtípusokkal és eszközillesztőkkel) és ideiglenes mappa elérési útja (az ideiglenes fájlok tárolására használt mappa), ill.

1234567 Sub FSOGetSpecialFolder ()Halvány FSO új fájlrendszer -objektumkéntSet FSO = CreateObject ("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder (0) 'Az eredmény a következő lehet: C: \ Windows \ System32End Sub

GetFile módszer

A GetFile módszert nagyon hasonló módon használhatja, mint a GetFolder metódust. A hozzáférni kívánt fájl megadása után

1 Állítsa be a fil = FSO.GetFile fájlt ("C: \ Src \ Test.xlsx")

lemásolhatod:

1 fil. Másolja a "C: \ Dst \"

mozgatni:

1 fil.Move "C: \ Dst \"

töröld:

1 fil.Delete

vagy nyissa meg TextStream objektumként:

1 fil.OpenAsTextStream

A fájl tulajdonságai, mint például attribútumai, a létrehozás, az utolsó elérés vagy az utolsó módosítás dátuma és időpontja, a meghajtó betűje, neve és rövid neve, útvonala és rövid elérési útja, mérete, típusa és szülőmappája ugyanúgy érhetők el a GetFolder metódusban leírtak szerint.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave