VBA GetFolder ve GetFile (Dosya ve Klasör Özelliklerini Al)

Bu öğretici, FileSystemObject'in GetFolder ve GetFile yöntemlerinin nasıl kullanılacağını gösterecektir.

VBA FileSystemObject ile Klasör ve Dosya Özelliklerini Alın

GetFolder yöntemi, belirtilen yoldaki klasöre karşılık gelen bir Klasör nesnesi döndürür ve özelliklerine erişmenizi sağlar. GetFile yöntemi, belirtilen dosyayla aynı şeyi yapar.

VBA Referansını Ayarla

İlk olarak, FileSystemObjects kullanırken, VB komut dosyası çalışma zamanı kitaplığına bir başvuru ayarlamanız gerekebilir: Visual Basic Düzenleyicisini (ALT+F11) açın, açılır menüden Araçlar > Başvurular'ı seçin ve onay kutusunu işaretleyin. 'Microsoft Komut Dosyası Çalışma Zamanı'.

DosyaSistemNesnesi

İkinci olarak, FileSystemObject'i oluşturmalısınız:

12 FSO'yu Yeni FileSystemObject Olarak DimFSO'yu ayarla = CreateObject("Scripting.FileSystemObject")

Artık GetFolder'a ve diğer FileSystemObject Yöntemlerine erişiminiz var.

GetFolder Yönteminin Kullanımı

Erişmek istediğiniz klasörü belirledikten sonra

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

kopyalayabilirsiniz:

1 fld.Copy "C:\NewFolder\"

Oynat şunu:

1 fld. "C:\NewFolder\" öğesini taşıyın

silin:

1 fld.Sil

veya içinde yeni bir metin dosyası oluşturun:

1 fld.CreateTextFile “NewTextFile.txt”

Bu yöntemi kullanarak, klasörün öznitelikleri (fld.Attributes), oluşturulduğu tarih ve saat (fld.DateCreated), son erişildiği (fld.DateLastAccessed), son değiştirildiği (fld.DateLastModified) gibi klasör özelliklerine erişebilirsiniz. ), sürücüsünün harfi (fld.Drive), adı ve kısa adı (fld.Name, fld.ShortName), yolu ve kısa yolu (fld.Path, fld.ShortPath), boyutu (fld.Size), yazın (fld.Type), üst klasörü (fld.ParentFolder), bunun bir kök klasör (fld.IsRootFolder) olup olmadığını kontrol edin veya dosyaları (fld.Files) veya alt klasörleri (fld. Alt Klasörler).

Bunların hepsini bir prosedürde bir araya getirmek şöyle görünecektir:

123456789101112131415161718192021222324 Alt FSOGetFolder()FSO'yu Yeni FileSystemObject Olarak DimFSO'yu ayarla = CreateObject("Scripting.FileSystemObject")set fld = FSO.GetFolder("C:\Src\")Debug.Print fld.DateCreatedDebug.Print fld.DriveDebug.Print fld.NameDebug.Print fld.ParentFolderDebug.Print fld.PathDebug.Print fld.KısaYolDebug.Print fld.SizeDebug.Print fld.Files.CountDebug.Print fld.Typefld.SubFolders'daki Her Katlama İçinHata ayıklama. Katlamayı yazdır.AdSonraki katHer fil için fld.FilesDebug.Print dosya.AdSonraki dosyaAlt Bitiş

VBA hemen penceresinde Debug.Print komutunun sonucunu görmek için Ctrl+G tuşlarına basmanız gerektiğini lütfen unutmayın.

GetParentFolderName Yöntemi

Yukarıda belirtilen yola alternatif olarak, bu kodu kullanarak bir klasörün üst klasörünün adına erişebilirsiniz:

1234 FSO'yu Yeni FileSystemObject Olarak DimFSO'yu ayarla = CreateObject("Scripting.FileSystemObject")ParentFold= FSO.GetParentFolderName("C:\ParentTest\Test\")

ParentFold bu durumda “C:\ParentTest\” olacaktır.

Lütfen bu yöntemin yolu çözmeyeceğini ve belirtilen yolun varlığını kontrol etmediğini unutmayın.

GetSpecialFolder Yöntemi

GetSpecialFolder yöntemi ile argüman olarak 0, 1 veya 2 ileterek Windows klasör yolunuzu (Windows işletim sistemi tarafından yüklenen dosyalar ile), sistem klasör yolunuzu (kitaplıklar, yazı tipleri ve aygıt sürücüleri ile birlikte) ve geçici olarak alabilirsiniz. klasör yolu (geçici dosyaları depolamak için kullanılan klasör).

1234567 Alt FSOGetSpecialFolder()FSO'yu Yeni FileSystemObject Olarak DimFSO'yu ayarla = CreateObject("Scripting.FileSystemObject")Debug.Print FSO.GetSpecialFolder(0) 'Sonuç şu şekilde olabilir: C:\Windows\System32Alt Bitiş

GetFile Yöntemi

GetFile yöntemini GetFolder yöntemine çok benzer bir şekilde kullanabilirsiniz. Erişmek istediğiniz dosyayı belirledikten sonra

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

kopyalayabilirsiniz:

1 fil.Kopyala "C:\Dst\"

Oynat şunu:

1 fil. "C:\Dst\" öğesini taşıyın

silin:

1 fil.Sil

veya bir TextStream nesnesi olarak açın:

1 fil.OpenAsTextStream

Dosyanın öznitelikleri, oluşturulduğu tarih ve saat, son erişim veya son değiştirilme tarihi, sürücüsünün harfi, adı ve kısa adı, yolu ve kısa yolu, boyutu, türü ve üst klasörü gibi özelliklere aynı şekilde erişilebilir. GetFolder yönteminde açıklandığı gibi.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave