VBA GetFolder ja GetFile (hankige faili ja kausta atribuudid)

See õpetus näitab, kuidas kasutada FileSystemObjecti meetodeid GetFolder ja GetFile.

Hankige kausta ja faili atribuudid VBA FileSystemObject abil

Meetod GetFolder tagastab kausta objekti, mis vastab määratud tee kaustale, ja võimaldab teil selle omadustele juurde pääseda. GetFile meetod teeb sama ka määratud failiga.

Määrake VBA viide

Esiteks, kui kasutate FileSystemObjects, peate võib-olla määrama viite VB skripti käitusajale: avage Visual Basic Editor (ALT+F11), valige rippmenüüst Tools> References ja märkige ruut "Microsofti skriptide käitusaeg".

FileSystemObject

Teiseks peate looma FileSystemObject:

12 Dim FSO uue failisüsteemi objektinaMäära FSO = CreateObject ("Scripting.FileSystemObject")

Nüüd on teil juurdepääs GetFolderile ja muudele FileSystemObject meetoditele.

GetFolderi meetodi kasutamine

Pärast kausta määramist, millele soovite juurde pääseda

1 Määra fld = FSO.GetFolder ("C: \ Src \")

saate seda kopeerida:

1 fld.Koopia "C: \ NewFolder \"

liiguta seda:

1 fld. Liigutage "C: \ NewFolder \"

Kustuta see:

1 fld. Kustuta

või looge sinna uus tekstifail:

1 fld.CreateTextFile "NewTextFile.txt"

Selle meetodi abil saate juurdepääsu kausta omadustele, nagu selle atribuudid (fld.Attributes), selle loomise kuupäev ja kellaaeg (fld.DateCreated), viimane juurdepääs (fld.DateLastAccessed), viimati muudetud (fld.DateLastModified ), selle draivi täht (fld.Drive), selle nimi ja lühinimi (fld.Name, fld.ShortName), selle tee ja lühike tee (fld.Path, fld.ShortPath), selle suurus (fld.Size), tüüp (fld.Type), selle emakaust (fld.ParentFolder), kontrollige, kas see on juurkaust (fld.IsRootFolder) või saate selle faile (fld.Files) või alamkaustu (fld. Alamkaustad).

Selle protseduuri kokku panemine näeks välja selline:

123456789101112131415161718192021222324 Alam FSOGetFolder ()Dim FSO uue failisüsteemi objektinaMäära FSO = CreateObject ("Scripting.FileSystemObject")Määra fld = FSO.GetFolder ("C: \ Src \")Silumine. Prindi kogu. KuupäevSilumine. Prindi fld. SõidaSilumine. Prindi fld. NimiSilumine. Prindi fld. Vanema kaustSilumine. Prindi kogu. TeeSilumine. Prindi fld. Lühike teeSilumine. Prindi fld. SuurusSilumine. Prindi fld. Failid. LoendSilumine. Prindi trükk. TüüpIga voldi kohta Fld.SubFoldersSilumine. Prindi voltimine. NimiJärgmine voltIga faili kohta. FailidSilumine. Prindi film. NimiJärgmine filEnd Sub

Pange tähele, et vajutage klahvikombinatsiooni Ctrl+G, et näha silumise tulemust. Prindi käsk VBA vahetu aknas.

GetParentFolderName meetod

Alternatiivina ülaltoodud viisile pääsete juurde kausta emakausta nimele, kasutades seda koodi:

1234 Dim FSO uue failisüsteemi objektinaMäära FSO = CreateObject ("Scripting.FileSystemObject")ParentFold = FSO.GetParentFolderName ("C: \ ParentTest \ Test \")

ParentFold on sel juhul “C: \ ParentTest \”.

Pange tähele, et see meetod ei lahenda rada ega kontrolli määratud tee olemasolu.

GetSpecialFolder meetod

GetSpecialFolderi meetodiga, kui esitate argumendina 0, 1 või 2, saate oma Windowsi kausta tee (koos Windowsi operatsioonisüsteemi installitud failidega), süsteemi kausta tee (koos raamatukogude, fontide ja seadme draiveritega) kausta tee (kaust, mida kasutatakse ajutiste failide salvestamiseks).

1234567 Alam FSOGetSpecialFolder ()Dim FSO uue failisüsteemi objektinaMäära FSO = CreateObject ("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder (0) 'Tulemuseks võib olla: C: \ Windows \ System32End Sub

GetFile meetod

Saate kasutada GetFile meetodit väga sarnaselt GetFolder meetodiga. Pärast faili, millele soovite juurde pääseda, täpsustamist

1 Määra fail = FSO.GetFile ("C: \ Src \ Test.xlsx")

saate seda kopeerida:

1 fil.Koopia "C: \ Dst \"

liiguta seda:

1 fil. Liigutage "C: \ Dst \"

Kustuta see:

1 fil. Kustuta

või avage see TextStreami objektina:

1 fil.OpenAsTextStream

Faili omadustele, nagu selle atribuudid, kuupäev ja kellaaeg, millal see loodi, viimati juurde pääseti või viimati muudeti, selle draivi täht, nimi ja lühinimi, tee ja lühike tee, suurus, tüüp ja selle kaust on juurdepääsetavad samamoodi nagu on kirjeldatud GetFolderi meetodil.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave