Ši pamoka parodys, kaip naudoti „FileSystemObject“ metodus „GetFolder“ ir „GetFile“.
Gaukite aplankų ir failų ypatybes naudodami „VBA FileSystemObject“
„GetFolder“ metodas grąžina aplanko objektą, atitinkantį nurodyto kelio aplanką, ir leidžia pasiekti jo ypatybes. „GetFile“ metodas daro tą patį su nurodytu failu.
Nustatykite VBA nuorodą
Pirma, naudojant „FileSystemObjects“ gali tekti nustatyti nuorodą į VB scenarijaus vykdymo laiko biblioteką: atidarykite „Visual Basic“ redaktorių (ALT+F11), išskleidžiamajame meniu pasirinkite Įrankiai> Nuorodos ir pažymėkite žymės langelį „Microsoft Scripting Runtime“.
„FileSystemObject“
Antra, turite sukurti „FileSystemObject“:
12 | Pritemdyti FSO kaip naują „FileSystemObject“Nustatykite FSO = CreateObject ("Scripting.FileSystemObject") |
Dabar turite prieigą prie „GetFolder“ ir kitų „FileSystemObject Methods“.
„GetFolder“ metodo naudojimas
Nurodę aplanką, kurį norite pasiekti
1 | Nustatykite fld = FSO.GetFolder ("C: Src") |
galite nukopijuoti:
1 | fld.Nukopijuokite "C: \ NewFolder \" |
perkelk:
1 | fld. Perkelkite „C: \ NewFolder \“ |
ištrink tai:
1 | fld.Delete |
arba sukurkite jame naują teksto failą:
1 | fld.CreateTextFile „NewTextFile.txt“ |
Naudodami šį metodą, jūs gaunate prieigą prie aplanko ypatybių, tokių kaip jo atributai (fld.Attributes), jo sukūrimo data ir laikas (fld.DateCreated), paskutinis pasiekimas (fld.DateLastAccessed), paskutinis pakeitimas (fld.DateLastModified ), jo disko raidė (fld.Dive), pavadinimas ir trumpas pavadinimas (fld.Name, fld.ShortName), kelias ir trumpas kelias (fld.Path, fld.ShortPath), jo dydis (fld.Size), tipą (fld.Type), jo pirminį aplanką (fld.ParentFolder), patikrinkite, ar tai yra šakninis aplankas (fld.IsRootFolder), ar galite peržiūrėti, suskaičiuoti ir tt jo failus (fld.Files) arba poaplankius (fld. Poaplankius).
Visa tai sujungus į procedūrą atrodytų taip:
123456789101112131415161718192021222324 | Sub FSOGetFolder ()Pritemdyti FSO kaip naują „FileSystemObject“Nustatykite FSO = CreateObject ("Scripting.FileSystemObject")Nustatykite fld = FSO.GetFolder ("C: Src")Derinimas. Spausdinti fld. Data SukurtaDerinti. Spausdinti. VažiuotiDerinti. Spausdinti. PavadinimasDerinti. Spausdinti fld. ParentFolderDerinti. Spausdinti. KeliasDerinti. Spausdinti fld. Trumpas keliasDerinti. Spausdinti. DydisDerinimas. Spausdinti fld. Failai. SkaičiusDerinti. Spausdinti. TipasUž kiekvieną lankstymą fld.SubFoldersDerinimas. Spausdinimo lankstas. PavadinimasKitas lankstymasUž kiekvieną fil In fld.FailaiDerinti. Spausdinti. PavadinimasKitas filPabaiga Sub |
Atminkite, kad norėdami pamatyti „Debug.Print“ komandą tiesioginiame VBA lange, paspauskite „Ctrl“+G.
„GetParentFolderName“ metodas
Arba anksčiau minėto būdo, galite pasiekti aplanko pirminio aplanko pavadinimą naudodami šį kodą:
1234 | Pritemdyti FSO kaip naują „FileSystemObject“Nustatykite FSO = CreateObject ("Scripting.FileSystemObject")ParentFold = FSO.GetParentFolderName ("C: \ ParentTest \ Test \") |
„ParentFold“ šiuo atveju bus „C: \ ParentTest \“.
Atminkite, kad šis metodas neišspręs kelio ir netikrina, ar yra nurodytas kelias.
„GetSpecialFolder“ metodas
Naudodami „GetSpecialFolder“ metodą, pateikdami argumentą 0, 1 arba 2, galite gauti „Windows“ aplanko kelią (su „Windows“ operacinės sistemos įdiegtais failais), sistemos aplanko kelią (su bibliotekomis, šriftais ir įrenginio tvarkyklėmis) ir laikiną aplanko kelias (aplankas, naudojamas laikiniems failams saugoti).
1234567 | Sub FSOGetSpecialFolder ()Pritemdyti FSO kaip naują „FileSystemObject“Nustatykite FSO = CreateObject ("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder (0) „Rezultatas gali būti: C: \ Windows \ System32Pabaiga Sub |
„GetFile“ metodas
„GetFile“ metodą galite naudoti labai panašiai kaip „GetFolder“ metodą. Nurodę failą, kurį norite pasiekti
1 | Nustatykite fil = FSO.GetFile ("C: \ Src \ Test.xlsx") |
galite nukopijuoti:
1 | fil.Nukopijuokite "C: \ Dst \" |
perkelk:
1 | fil.Perkelti "C: \ Dst \" |
ištrink tai:
1 | fil. Ištrinti |
arba atidarykite jį kaip „TextStream“ objektą:
1 | fil.OpenAsTextStream |
Failo ypatybės, tokios kaip jo atributai, data ir laikas, kai jis buvo sukurtas, paskutinį kartą pasiektas ar paskutinį kartą modifikuotas, jo disko raidė, vardas ir trumpasis pavadinimas, kelias ir trumpas kelias, dydis, tipas ir pirminis aplankas gali būti pasiekiami tuo pačiu būdu kaip aprašyta „GetFolder“ metodu.