VBA GetFolder & GetFile (Hent fil- og mappeegenskaber)

Denne vejledning viser, hvordan du bruger GetFolder- og GetFile -metoderne i FileSystemObject.

Få mappe- og filegenskaber med VBA FileSystemObject

Metoden GetFolder returnerer et mappeobjekt, der svarer til mappen i en bestemt sti, og giver dig adgang til dens egenskaber. Metoden GetFile gør det samme med den angivne fil.

Indstil VBA -reference

Først, når du bruger FileSystemObjects, skal du muligvis angive en reference til VB-scriptets kørebibliotek: Åbn Visual Basic Editor (ALT+F11), vælg Værktøjer> Referencer i rullemenuen, og marker afkrydsningsfeltet for 'Microsoft Scripting Runtime'.

FileSystemObject

For det andet skal du oprette FileSystemObject:

12 Dim FSO som nyt filsystemsystemIndstil FSO = CreateObject ("Scripting.FileSystemObject")

Nu har du adgang til GetFolder og de andre FileSystemObject -metoder.

Brug af GetFolder -metode

Efter angivelse af den mappe, du vil have adgang til

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

du kan kopiere det:

1 fld.Copy "C: \ NewFolder \"

Flyt det:

1 fld.Move "C: \ NewFolder \"

slet det:

1 fld.Slet

eller opret en ny tekstfil i den:

1 fld.CreateTextFile “NewTextFile.txt”

Ved at bruge denne metode får du adgang til mappens egenskaber, f.eks. Dens attributter (fld.Attributes), datoen og klokkeslættet, da den blev oprettet (fld.DateCreated), senest adgang (fld.DateLastAccess), senest ændret (fld.DateLastModified ), dens drevs bogstav (fld.Drive), dets navn og korte navn (fld.Name, fld.ShortName), dens sti og korte sti (fld.Path, fld.ShortPath), dens størrelse (fld.Size), dens type (fld.Type), dens overordnede mappe (fld.ParentFolder), kontroller, om det er en rodmappe (fld.IsRootFolder), eller du kan gå igennem, tælle osv. dens filer (fld.Files) eller undermapper (fld. Undermapper).

At sammensætte alt dette i en procedure ville se sådan ud:

123456789101112131415161718192021222324 Sub FSOGetFolder ()Dim FSO som nyt filsystemsystemIndstil FSO = CreateObject ("Scripting.FileSystemObject")Indstil 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.TypeFor hver fold I fld.SubFoldersDebug.Print fold.NameNæste foldFor hver fil I fld.FilesDebug.Print fil.NameNæste filAfslut Sub

Bemærk, at du skal trykke på Ctrl+G for at se resultatet af Debug.Print -kommandoen i VBAs umiddelbare vindue.

GetParentFolderName -metode

Alternativt til ovennævnte måde kan du få adgang til en mappes overordnede mappes navn ved hjælp af denne kode:

1234 Dim FSO som nyt filsystemsystemIndstil FSO = CreateObject ("Scripting.FileSystemObject")ParentFold = FSO.GetParentFolderName ("C: \ ParentTest \ Test \")

ParentFold vil i dette tilfælde være "C: \ ParentTest \".

Bemærk, at denne metode ikke løser stien, og den kontrollerer heller ikke, om den angivne sti findes.

GetSpecialFolder -metode

Med GetSpecialFolder -metoden kan du ved at sende 0, 1 eller 2 som et argument få din Windows -mappesti (med filer installeret af Windows -operativsystemet), din systemmappesti (med biblioteker, skrifttyper og enhedsdrivere) og midlertidige henholdsvis mappesti (den mappe, der bruges til lagring af midlertidige filer).

1234567 Sub FSOGetSpecialFolder ()Dim FSO som nyt filsystemsystemIndstil FSO = CreateObject ("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder (0) ‘Resultatet kan være: C: \ Windows \ System32Afslut Sub

GetFile -metode

Du kan bruge GetFile -metoden på en meget lignende måde som GetFolder -metoden. Efter angivelse af den fil, du vil have adgang til

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

du kan kopiere det:

1 fil.Kopi "C: \ Dst \"

Flyt det:

1 fil.Flyt "C: \ Dst \"

slet det:

1 fil.Slet

eller åbn det som et TextStream -objekt:

1 fil.OpenAsTextStream

Filens egenskaber, f.eks. Dens attributter, dato og klokkeslæt, da den blev oprettet, senest åbnet eller senest ændret, dens drevs bogstav, navn og korte navn, sti og kort sti, størrelse, type og dets overordnede mappe kan tilgås på samme måde som beskrevet ved GetFolder -metoden.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave