Excel VBA'da FileSystemObject'i (FSO) kullanma
FileSystemObject (FSO), bilgisayarınızın dosya sistemine erişmek için bir dizi işleve erişmenizi sağlar. Bu nesneyi kullanarak dosyalara, klasörlere ve sürücülere kolayca erişebilir ve ayrıca dosyaları okuyabilir ve yazabilirsiniz.
FSO işlevlerinin çoğu sizin tarafınızdan geleneksel VBA'da yazılabilir, ancak daha fazla kodlama gerektirir ve gelen bir geliştiricinin sürdürmesi ve anlaması daha zor olur. FSO denenmiş ve test edilmiş bir API'dir (Uygulama Programlama Arayüzü) ve kendi kodunuzdan daha güvenilirdir. Kullanımı kolay ve hazır ve kullanılabilir.
FSO, bilgisayarınızda bulunan uluslararası standartlara ve ayarlara göre çalışır. Excel uygulamanızı küresel olarak dağıtıyorsanız, FSO'yu kullanmak, ülkeler arasındaki ayarlarda kendi kodunuzun yapmakta zorlanacağı tüm farklılıkları halledecektir.
FSO, Windows Dosya Gezgini'nde yapabileceğiniz hemen hemen her şeyi VBA kodunda yapmanıza izin verecektir. Windows dosya sistemine tam erişim sağlar.
Bir FileSystemObject Oluşturma
FileSytemObject, Excel VBA'nın bir parçası değildir. VBA'da bir nesne (geç bağlama) oluşturarak FSO'yu kullanabilirsiniz:
123 | Alt CreateFSO()MyFSO = CreateObject("Scripting.FileSystemObject") olarak ayarlayınAlt Bitiş |
Alternatif olarak, FSO kitaplığı için VBA'ya bir başvuru ekleyebilirsiniz. Buna erken bağlama denir ve kodunuz çalıştırıldığında nesnenin oluşturulması gerekmediğinden geç bağlamadan daha hızlıdır.
Referans eklemek için, Visual Basic Düzenleyicisi'ne (VBE) girmek için Alt-F11 tuşlarına basmanız ve ardından VBE menüsünden 'Tools|References'ı kullanmanız gerekir. Bu, ilgili referansı seçmeniz için bir açılır pencere görüntüler (aşağıya bakın).
'Microsoft Komut Dosyası Çalıştırma Zamanı'nı görene kadar mevcut referanslar listesini aşağı kaydırın. Kutuyu işaretleyin ve Tamam'a tıklayın; kitaplık artık uygulamanızın bir parçasıdır.
DLL kitaplığı dosyasının konumu C:\Windows\SysWOW64\scrrun.dll'dir.
Uygulamanızı diğer iş arkadaşlarınıza veya konumlara dağıtıyorsanız, bu dosyanın bilgisayarlarında doğru konumda olması çok önemlidir, aksi takdirde kodunuz hata verecektir.
Dosyanın var olduğunu kontrol etmek için Dir komutunu kullanarak 'WorkbookOpen' olayına bir hata tuzağı koymaya değer. Eğer yoksa, bir uyarı mesajı verin ve Excel dosyasını kapatın.
Referans eklendikten sonra, FSO'yu oluşturmak için aşağıdaki kodu kullanabilirsiniz:
123 | Alt TestFSO()MyFSO'yu Yeni FileSystemObject Olarak KarartınAlt Bitiş |
Bu makaledeki tüm örnekler, FSO'yu oluşturmak için bu metodolojiyi kullanacaktır.
FSO'nun birçok yöntemi ve özelliği vardır. Bunlar burada yapabileceklerine göre bölümlere ayrılmıştır.
'Var' Yöntemlerini Kullanma
Bir sürücünün, bir klasörün veya bir dosyanın var olup olmadığını kontrol etmek için bir FSO yöntemi kullanabilirsiniz. Bu yöntemlerin kullanımı kolaydır ve yalnızca bir parametre gerektirir.
123456 | Alt CheckExistance()MyFSO'yu Yeni FileSystemObject Olarak KarartınMsgBox MyFSO.DriveExists("C:")MsgBox MyFSO.FolderExists("C:\temp\")MsgBox MyFSO.FileExists("C:\temp\testfile.txt")Alt Bitiş |
Bilgisayarınızda bir C: sürücüsü, üzerinde 'Temp' adlı bir klasör ve Temp klasöründe 'testfile.txt' adlı bir dosya olduğunu varsayarsak, bu ifadelerin tümü 'True' değerini döndürür.
Parametrelerdeki metin dizeleri büyük/küçük harfe duyarlı değildir. Bu yöntemlerin hiçbirinde joker karakter kullanamazsınız.
Ayrıca bir klasör veya dosya konumunu tanımlamak için URL'leri (Tekdüzen Kaynak Konum Belirleyicileri) kullanamazsınız. FSO, yalnızca Windows İşletim Sistemi ve bunun üzerindeki dosya sistemi üzerinde çalışır. Harici bir sunucu konumu için, öncelikle bir sürücüyü buna eşlemeniz ve ardından sürücü yolunun kendisini kullanmanız gerekir.
'Al' Yöntemlerini Kullanma
FSO, dosya ve yol hakkında bilgi almak için, yolu ve dosyayı bölmek veya oluşturulma tarihi veya değiştirilme tarihi gibi dosya veya klasör bilgilerini almak için çok sayıda yönteme sahiptir.
GetAbsoluteYol Adı
Bu, belirtilen sürücünün kökünden tam bir yol sağlayacaktır.
Sözdizimi:
GetMutlakYolAdı (yol belirtimi)
12345 | Alt MutlakYol()MyFSO'yu Yeni FileSystemObject Olarak Dim, Pth As StringPth = "c:… "MsgBox MyFSO.GetAbsolutePathName(Pth)Alt Bitiş |
Bu, 'C:\Users\Richard\Documents' dizesini döndürür. Bunun nedeni, yolun C: ve ardından üç nokta olarak belirlenmiş olmasıdır. Her nokta, klasör yapısında bir sonraki seviyeyi belirtir.
GetBaseName
Bu, belirtilen bir dosya veya klasörün adını döndürür.
Sözdizimi:
GetBaseName(yol)
12345 | Alt TemelAdı()MyFSO'yu Yeni FileSystemObject Olarak Dim, Pth As StringPth = "C:\temp\testfile.txt"MsgBox MyFSO.GetBaseName(Pth)Alt Bitiş |
Bu kod 'testfile' döndürecektir. Yöntem, yol adındaki son bölümü döndürür. Bu bir dosyaysa, dosya son ekini döndürmez.
Yol bulunamazsa, boş bir dize döndürülür.
GetDrive
Bu, belirtilen sürücü harfine göre sürücü bilgilerine erişmek için kod kullanmanıza olanak tanır.
Sözdizimi:
GetDrive (sürücü özelliği)
123456 | Alt DriveInfo()MyFSO As New FileSystemObject, Pth As String, Dr As DrivePt = "C:"Dr = MyFSO.GetDrive(Pth) olarak ayarlayınMsgBox Dr.FreeSpaceAlt Bitiş |
Bu yöntem, belirtilen sürücüye dayalı olarak bir sürücü nesnesi döndürür. Kullanılabilir boş alan gibi sürücü hakkındaki bilgilere erişmek için bu nesneyi kullanabilirsiniz.
VBA Kodu Örnekleri Aramaktan Bıktınız mı? AutoMacro'yu deneyin!
GetDriveName
Bu yöntem, sürücü adını bir yol/dosya adı dizesinden ayıracaktır.
Sözdizimi:
GetDriveName (yol)
12345 | Alt SürücüAdı()MyFSO'yu Yeni FileSystemObject Olarak Dim, Pth As StringPth = "C:\temp\testfile.txt"MsgBox MyFSO.GetDriveName(Pth)Alt Bitiş |
Bu, 'C:' değerini döndürür
GetExtensionName
Bu, belirtilen yolda dosya son ekini döndürür.
Sözdizimi:
GetExtensionName (yol)
12345 | Alt UzantıAdı()MyFSO'yu Yeni FileSystemObject Olarak Dim, Pth As StringPth = "C:\temp\testfile.txt"MsgBox MyFSO.GetExtensionName(Pth)Alt Bitiş |
Bu 'tx' döndürür.
Dosya belirtilmezse boş bir dize döndürülür.
Dosyayı al
Bu yöntem, dosyanın kendisi hakkında çeşitli bilgileri tutan bir dosya nesnesi döndürür.
Sözdizimi:
Dosyayı al (dosya özelliği)
123456 | Alt DosyaBilgisi()MyFSO As New FileSystemObject, Pth As String, Fn As FilePth = "C:\temp\testfile.txt"Fn = MyFSO.GetFile(Pth) olarak ayarlayınMsgBox Fn.DateCreatedAlt Bitiş |
Bu, belirtilen dosyanın oluşturulduğu tarih ve saati döndürür. Dosya belirtilmemişse veya dosya mevcut değilse, 'dosya bulunamadı' hatası alırsınız.
12345 | Alt DosyaAdı()MyFSO'yu Yeni FileSystemObject Olarak Dim, Pth As StringPth = "C:\temp\testfile.txt"MsgBox MyFSO.GetFileName(Pth)Alt Bitiş |
Bu, 'testfile.txt' dosyasını döndürür.
GetFolder
Bu, belirtilen yoldaki temel klasör için bir klasör nesnesi oluşturur. Yol yalnızca klasör adlarını içermelidir. Hiçbir dosya adı dahil edilmemelidir, aksi takdirde bir hata oluşur.
Sözdizimi:
GetFolder (klasör belirtimi)
123456 | Alt KlasörBilgisi()MyFSO As New FileSystemObject, Pth As String, Fo As Klasör Olarak DimPth = "C:\temp"Set Fo = MyFSO.GetFolder(Pth)MsgBox Fo.DateCreatedAlt Bitiş |
Klasör nesnesi, içinde erişilebilen çeşitli bilgilere sahiptir. Bu durumda, klasörün oluşturulduğu tarihi döndürür.
Bu yöntemi, belirli bir klasördeki tüm dosya adlarını almak için de kullanabilirsiniz:
12345678 | Alt Dosya Adları()MyFSO As New FileSystemObject, Pth As String, Fo As Folder, Fn As FilePth = "C:\temp"Set Fo = MyFSO.GetFolder(Pth)Fo.Files'taki Her Fn İçinMsgBox Fn.AdıSonraki FnAlt Bitiş |
Bu kod, 'Temp' klasöründe yinelenir ve bulunan her dosya adını görüntüler.
GetParentKlasörAdı
Bu yöntem, klasör hiyerarşisinde bir sonraki seviyedeki klasör adını döndürür.
Sözdizimi:
GetParentKlasörAdı (yol)
12345 | Alt KlasörAdı()MyFSO As New FileSystemObject, Pth As String, Fo As Klasör Olarak DimPth = "C:\users\richard"MsgBox MyFSO.GetParentFolderName(Pth)Alt Bitiş |
Bu, 'richard' klasörünün 'ebeveyn' olduğu için 'Kullanıcılar'ı döndürür.
VBA Programlama | Code Generator sizin için çalışıyor!
'Oluştur' Yöntemlerini Kullanma
FSO ile yeni bir klasör ve yol oluşturabilir ve bir metin dosyası oluşturabilirsiniz.
Klasör oluşturun
Oluşturulacak yeni bir klasör yolu adı belirleyebilirsiniz. Bunun bir tehlikesi, klasör zaten mevcutsa bir hata oluşmasıdır. Bunun olmayacağından emin olmak için 'FolderExists' yöntemini kullanabilirsiniz.
Sözdizimi:
Klasör oluşturun(klasör ismi)
1234567 | Alt CreateNewFolder()MyFSO'yu Yeni FileSystemObject Olarak Dim, Pth As StringPth = "C:\temp\Klasörüm"Eğer MyFSO.FolderExists(Pth) = False O zamanMyFSO.CreateFolder (Pth)BitirAlt Bitiş |
Bu kod, mevcut 'C:\temp' yolu altında 'MyFolder' adlı yeni bir klasör oluşturacaktır.
CreateTextFile
Bu yöntem, basit bir metin dosyası oluşturmanıza ve doğrudan ona yazmanıza olanak tanır.
Sözdizimi:
CreateTextFile (dosya adı, [ üzerine yazmak, [ tek kod ]])
1234567 | Alt CreateTextFile()MyFSO'yu Yeni FileSystemObject Olarak Dim, Pth As StringPth = "C:\temp\Myfile.txt"Fn = MyFSO.CreateTextFile(Pth,True) olarak ayarlayınFn.Write "Buraya kendi metnimi ekle" & vbLf & "Bu ikinci satırdır"Fn.KapatAlt Bitiş |
Bu kod, 'C:' sürücüsünün 'Temp' klasöründe 'Myfile.txt' adlı bir metin dosyası oluşturur ve ardından buna iki satır metin yazar.
Bir satır besleme karakterinin, yazılmakta olan dizeyle birleştirildiğini unutmayın.
Yazdığınız yol mevcut değilse, bir hata oluşur. Dosyayı oluşturmadan önce bunu kontrol etmek için 'FolderExists' yöntemini kullanabilirsiniz.
Gerekirse mevcut dosyanın üzerine yazmak için isteğe bağlı bir parametre vardır - bu Doğru veya Yanlış olabilir. Varsayılan, Doğru'dur.
'Kopyala' Yöntemlerini Kullanma
Bir dosyayı veya klasörü başka bir konuma kopyalamak için bu yöntemleri kullanabilirsiniz.
VBA Programlama | Code Generator sizin için çalışıyor!
Dosya kopyalamak
Bu yöntem, bir dosyayı bir klasör konumundan diğerine kopyalayacaktır. Hedef konum salt okunur öznitelik kümesine sahipse, kopyalamanın başarısız olacağını unutmayın.
Sözdizimi:
Dosya kopyalamak kaynak, hedef, [ üzerine yazmak ]
1234 | Alt Kopya Dosyası()MyFSO'yu Yeni FileSystemObject Olarak KarartınMyFSO.CopyFile "C:\temp\*.txt", "C:\temp\klasörüm\", DoğruAlt Bitiş |
Bu kod, 'C:\temp' konumundaki tüm metin (txt) dosyalarının bir kopyasını 'C:\temp\myfolder\' içine alacak ve gerektiğinde dosyanın üzerine yazacaktır. Üzerine Yaz için varsayılan ayar Doğru'dur.
Dosya adları için yıldız işareti (*) joker karakteri kullanabilirsiniz, ancak tek karakterleri temsil etmek için soru işareti (?) joker karakteri kullanamazsınız.
Kopya klasörü
Bir klasörün tamamını bir konumdan diğerine kopyalamak için bu yöntemi kullanabilirsiniz.
Sözdizimi:
Kopya klasörü kaynak, hedef, [ üzerine yazmak ]
1234 | Alt KopyaKlasörü()MyFSO'yu Yeni FileSystemObject Olarak KarartınMyFSO.CopyFolder "C:\temp\*", "C:\users\richard\"Alt Bitiş |
Bu kod, 'C:\temp' altındaki tüm klasörleri ve dosyaları 'C:\users\richard' içine kopyalar. Oluşturulan yeni klasör, "C:\users\richard\myfolder" olacaktır, çünkü "C:\
Bu yöntemi kullanırken dört olası sonuç vardır:
- Hedef yoksa, kaynak klasör ve içerik kopyalanır.
- Hedef zaten mevcutsa, bir hata oluşur.
- Hedef bir klasörse, kaynak klasör ve içeriği kopyalanacaktır. Üzerine Yaz, False olarak ayarlanırsa ve hedefte zaten bir dosyanın bir kopyası varsa bir hata oluşur.
- Hedef salt okunur olarak ayarlanırsa, üzerine yazma yanlış olarak ayarlanırsa bir hata oluşur.
Bu yöntem karşılaştığı ilk hatada durur. Hata oluşmadan önce başarılı olan herhangi bir eylemin geri alınması yoktur.
'Taşı' Yöntemlerini Kullanma
Bu yöntemler, dosyaları veya klasörleri başka konumlara taşımak için kullanılabilir. Bu, bir yerden kesip başka bir yere yapıştırmakla aynıdır. Taşınacak dosya açıksa, Taşı yönteminin bir hata vererek başarısız olacağını unutmayın.
Dosyayı taşı
Bu yöntem, belirli bir dosyayı başka bir konuma taşımak için kullanılır. Kaynağın son yol bileşeninde joker karakterlere izin verilir.
Sözdizimi:
Dosyayı taşı kaynak, hedef
1234 | Alt MoveAFile()MyFSO'yu Yeni FileSystemObject Olarak KarartınMyFSO.MoveFile "C:\temp\*", "C:\temp\klasörüm"Alt Bitiş |
Bu kod, 'C:\temp' konumunda bulunan tüm dosyaları 'C:\temp\myfolder' klasörüne taşır.
Hedef klasör otomatik olarak oluşturulmadığından kaynak ve hedef klasörler mevcut olmalıdır.
Bu yöntem karşılaştığı ilk hatada durur. Hata oluşmadan önce başarılı olan herhangi bir eylemin geri alınması yoktur.
VBA Programlama | Code Generator sizin için çalışıyor!
MoveFolder
Bu yöntem, belirli bir klasörü bir konumdan diğerine taşır.
Sözdizimi:
Klasörü Taşı (kaynak, hedef)
1234 | Alt MoveAFolder()MyFSO'yu Yeni FileSystemObject Olarak KarartınMyFSO.MoveFolder "C:\temp\myfolder", "C:\temp\mydestination"Alt Bitiş |
Bu kod, 'myfolder' klasörünü ve içeriğini 'mydestination' klasörüne taşır. 'myfolder' etkin bir şekilde silinir ve 'myfolder' içeriğiyle birlikte 'mydestination' oluşturulur.
Hedef klasör zaten mevcutsa bir hata oluşur.
'Sil' Yöntemlerini Kullanma
Bu yöntemler, dosya veya klasörleri silmek için kullanılır. Bir şeyler ters giderse geri alma veya geri alma yöntemleri olmadığından dikkatli kullanılmaları gerekir.
Dosyayı sil
Bu, joker karakterler kullanarak tek tek dosyaları veya bir grup dosyayı siler.
Sözdizimi:
Dosyayı sil dosya özelliği, [ Kuvvet ]
1234 | Alt Sil Dosyaları()MyFSO'yu Yeni FileSystemObject Olarak KarartınMyFSO.DeleteFile "C:\temp\*"Alt Bitiş |
Bu kod, 'C:\temp' klasöründeki tüm dosyaları siler.
Force parametresi isteğe bağlıdır ve True veya False olarak ayarlanır. True olarak ayarlanırsa, salt okunur dosyalar silinir. Varsayılan, Yanlış'tır.
Klasörü Sil
Bu yöntem, belirtilen bir klasörü ve içeriğini siler.
Sözdizimi:
Klasörü Sil klasör belirtimi, [ Kuvvet ]
1234 | Alt Sil Klasörler()MyFSO'yu Yeni FileSystemObject Olarak KarartınMyFSO.DeleteFolder "C:\temp\MyDestination"Alt Bitiş |
Bu kod, 'MyDestination' klasörünü ve bu klasördeki tüm dosyaları siler. 'temp' klasörü kalacaktır.
Force parametresi isteğe bağlıdır ve True veya False olarak ayarlanır. True olarak ayarlanırsa, salt okunur klasörler silinir. Varsayılan, Yanlış'tır.
Joker karakterler, yolun son bileşeninde kullanılabilir. Klasör bulunamazsa bir hata oluşur.
Bu yöntem karşılaştığı ilk hatada durur. Hata oluşmadan önce başarılı olan herhangi bir eylemin geri alınması yoktur.
VBA Programlama | Code Generator sizin için çalışıyor!
FSO'daki Diğer Yöntemler
OpenAsTextStream.
Bu yöntem, belirtilen bir dosyayı bir Metin Akışı nesnesi olarak açar ve bunun okunmasına veya yazılmasına izin verir. Bu yöntemin avantajı, herhangi bir dosya türünü açabilmesi ve mevcut metni çıkarabilmesidir.
Sözdizimi:
OpenAsTextStream ([ iyomod, [ biçim ]])
'imode' parametresi, salt okunur (1), okuma/yazma (2) ve eklemeye (8) izin verir. Okuma/yazma parametresi dosyanın üzerine yazar.
'Biçim' parametresi sistem varsayılanı için -2, dosyayı Unicode olarak açmak için -1 ve dosyayı ASCII (Amerikan Bilgi Değişimi için Amerikan Standart Kodu) olarak açmak için 0'a ayarlanmıştır.
1234567891011 | Alt Metin Akışı()MyFSO'yu Yeni FileSystemObject Olarak Karartınf = MyFSO.GetFile("C:\temp\myfile.txt") olarak ayarlayınts = f.OpenAsTextStream(2) olarak ayarlayınts. "Yeni metnim" yazınts.Kapatts = f.OpenAsTextStream(1) olarak ayarlayıns = ts.ReadLineMsgBox sts.KapatAlt Bitiş |
Bu kod mevcut bir metin dosyasını alır ve onu 'GetFile' yöntemini kullanarak bir nesne olarak oluşturur. Daha sonra metin akışını okuma/yazma (2) olarak açar ve bir satır metin yazar. Dosya daha sonra kapatılır ve okundu (1) olarak yeniden açılır ve ondan bir satır okunur, bu daha sonra bir mesaj kutusu olarak görüntülenir.
Bir mesaj kutusunda görüntülenebilmesi için okuma satırının bir değişkene yerleştirilmesi gerektiğini unutmayın.
Yapı Yolu
Bu yöntem, mevcut bir klasör yolunun sonuna bir klasör veya dosya adı ekler. Bu yalnızca bir metin dizesi oluşturur ve aslında yeni klasörü oluşturmaz.
Sözdizimi:
Yapı Yolu (yol, isim)
12345 | Alt YapıPth()MyFSO'yu Yeni FileSystemObject Olarak Karartınnp = MyFSO.BuildPath("C:\temp", "ANewFolder")MsgBox npAlt Bitiş |
Bu, 'C:\temp\ANewFolder' öğesini görüntüler. Ancak bu klasörü gerçekten kullanmak istiyorsanız 'CreateFolder' yöntemini kullanmanız gerekir.
OpenTextFile
Bu yöntem, dosyaların ayarlanan parametrelere göre açılmasına ve okunmasına veya yazılmasına izin verir. OpenAsTextStream yöntemine benzer şekilde çalışır.
Sözdizimi:
OpenTextFile (dosya adı, [ iyomod, [ oluşturmak, [ biçim ]]])
'imode' parametresi ForReading, ForWriting ve ForAppending'e izin verir. ForWriting parametresi dosyanın üzerine yazar.
'create' parametresi bir Boole değeridir. True, belirtilen dosya adı yoksa yeni bir dosya oluşturulacağı anlamına gelir. False, dosya adı bulunamazsa hiçbir dosyanın oluşturulmayacağı anlamına gelir. Varsayılan, Yanlış'tır.
Dosyanın ASCII veya Unicode olmasına bağlı olarak "format" parametresi TristateFalse, TristateMixed, TristateTrue ve TristateUseDefault olarak ayarlanabilir.
1234567 | Alt OpenTxtFile()MyFSO'yu Yeni FileSystemObject Olarak KarartınSet ts = MyFSO.OpenTextFile("C:\temp\myfile.txt", ForReading, False, TristateUseDefault)s = ts.ReadLineMsgBox sts.KapatAlt Bitiş |
Bu kod, 'myfile.txt' metin dosyasından bir satır okuyacaktır.
OpenTextFile yönteminin OpenAsTextStreamMethod'a göre bir avantajı, çeşitli parametre seçenekleri için uygun sayısal değerleri hatırlamaya çalışmaktan daha anlamlı olan parametreler için açılır menülere sahip olmasıdır.
VBA Programlama | Code Generator sizin için çalışıyor!
FSO'nun Özellikleri
Sürücüler
Bu özellik, bilgisayarınızdaki kullanılabilir sürücülerin bir koleksiyonunu tutar.
1234567 | Alt Drv()Dim MyFSO As New FileSystemObject, d As DriveDr = MyFSO.Drives AyarlaHer d için Dr.MsgBox d.DriveLettersonraki günAlt Bitiş |
Bu kod, bilgisayarınızda bulunan her sürücü harfini döndürür.
İsim
Bu, belirtilen bir dosya veya klasörün adını döndürür.
123456789 | Alt AdÖrnek()MyFSO'yu Yeni FileSystemObject Olarak Karartınf = MyFSO.GetFile("C:\temp\myfile.txt") olarak ayarlayıni = f.Name & " Drive'da " & UCase(f.Drive) & vbCrLfi = i & "Oluşturuldu: " & f.DateCreated & vbCrLfi = i & "Son Erişim: " & f.DateLastAccessed & vbCrLfi = i & "Son Değiştirilme Tarihi: " & f.DateLastModifiedMsgBox iAlt Bitiş |
Bu kod, Drive özelliğini kullanarak dosyanın adını ve onunla ilgili bilgileri verecektir.
Yol
Path özelliği, yolu bir dosya belirtiminden ayırır.
123456789 | Alt YolÖrneği()MyFSO'yu Yeni FileSystemObject Olarak Karartınf = MyFSO.GetFile("C:\temp\myfile.txt") olarak ayarlayıni = f.Path & f.Name & " Drive'da " & UCase(f.Drive) & vbCrLfi = i & "Oluşturuldu: " & f.DateCreated & vbCrLfi = i & "Son Erişim: " & f.DateLastAccessed & vbCrLfi = i & "Son Değiştirilme Tarihi: " & f.DateLastModifiedMsgBox iAlt Bitiş |
Bu örnek, artık dosyanın yolunu sağlaması dışında Ad örneğiyle aynı şekilde çalışır.
VBA Programlama | Code Generator sizin için çalışıyor!
Boy
Size özelliği, bir klasör veya dosyanın boyutunu verecektir.
12345 | Alt FSBoyut()MyFSO'yu Yeni FileSystemObject Olarak Karartınf = MyFSO.GetFolder("C:\temp\") olarak ayarlayınMsgBox f.SizeAlt Bitiş |
Yukarıdaki kod, 'C:\temp\' klasörünün boyutunu döndürür.
12345 | Alt FSBoyut()MyFSO'yu Yeni FileSystemObject Olarak Karartınf = MyFSO.GetFile("C:\temp\myfile.txt") olarak ayarlayınMsgBox f.SizeAlt Bitiş |
Yukarıdaki kod, 'myfile.txt' dosyasının boyutunu döndürür.
Tip
type özelliği, dosya veya klasör türü için metni döndürür.
12345 | Alt FType()MyFSO'yu Yeni FileSystemObject Olarak Karartınf = MyFSO.GetFolder("C:\temp\") olarak ayarlayınMsgBox f.TypeAlt Bitiş |
Yukarıdaki bu kod, 'Dosya klasörü' metnini döndürür.
12345 | Alt FType()MyFSO'yu Yeni FileSystemObject Olarak Karartınf = MyFSO.GetFile("C:\temp\myfile.txt") olarak ayarlayınMsgBox f.TypeAlt Bitiş |
Yukarıdaki bu kod, 'Metin belgesi' metnini döndürür.
Her örnekte "GetFolder" ve "GetFile" kullanımına dikkat edin.