AccessTr.neT

Tam Versiyon: Klasördeki Tüm Alt Klasör Ve Dosyaları Listboxa Almak
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3 4
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.

[Resim: do.php?img=10245]

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.
Sayfalar: 1 2 3 4