mesela regedit de olduğu gibi treeview şeklinde klasörler ve dosyalar sıralanır
bütün dalların açıldığını ve hepsinin sola dayalı olduğunu farzedin
eğer uzantısı varsa dosya demektir
eğer uzantısı yoksa klasör demektir
ama herbirinin dosya yolu ve boyutu bir şekilde olacak
Dosya hazırladım inceleyin File olarak varsaydım bilmediğim için sormuştum.
Option Compare Database
Private Sub Form_Load()
Me.txt1.Value = Application.CurrentProject.path
Me.listbox1.ColumnCount = 3
Call DosyaAra(Me.txt1.Value)
End Sub
Sub DosyaAra(ByVal path As String)
Dim AltDosyalar As Object
Dim Dosyalar As Object
Dim Fileler As Object
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dosyalar = fso.Getfolder(path)
For Each AltDosyalar In Dosyalar.subfolders
Call DosyaAra(AltDosyalar.path)
Next
For Each Fileler In Dosyalar.Files
If CurrentProject.Name <> Fileler.Name And Right(Fileler.Name, 6) <> "laccdb" Then
Me.listbox1.AddItem Fileler.path & ";" & Fileler.Name & ";" & Fileler.Size
End If
Next
Set fso = Nothing
Set AltDosyalar = Nothing
Set Dosyalar = Nothing
Set Fileler = Nothing
End Sub
teşekkürler bende bu kod var ama modüle fonksiyon olarak yazıp listbox argüment olarak gidecek
Modul1 adında modül ekleyim alttaki kodu ekleyin.
Sizin extra Form adıda ekledim.
Option Compare Database
Public lstbox As String
Public FormAd As String
Sub DosyaAra(ByVal path As String)
Dim AltDosyalar As Object
Dim Dosyalar As Object
Dim Fileler As Object
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dosyalar = fso.Getfolder(path)
For Each AltDosyalar In Dosyalar.subfolders
Call DosyaAra(AltDosyalar.path)
Next
For Each Fileler In Dosyalar.Files
If CurrentProject.Name <> Fileler.Name And Right(Fileler.Name, 6) <> "laccdb" Then
Forms(FormAd).Controls(lstbox).AddItem Fileler.path & ";" & Fileler.Name & ";" & Fileler.Size
End If
Next
Set fso = Nothing
Set AltDosyalar = Nothing
Set Dosyalar = Nothing
Set Fileler = Nothing
End Sub
FormLoad koduda altta.
Option Compare Database
Private Sub Form_Load()
Me.txt1.Value = Application.CurrentProject.path
Me.listbox1.ColumnCount = 3
FormAd = Me.Name
lstbox = Me.listbox1.Name
Call DosyaAra(Me.txt1.Value)
End Sub
ellerinize sağlık teşekkürler
Rica ederim,kolay gelsin.