Masaüstündeki Bir Klasördeki Dosya İsimlerini Listbox'ta Listelemek

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
686
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Merhaba arkadaşlar.

Masaüstünde STAJYER_ÖĞRENCİ_PUANTAJLARI diye bir klasörüm var ve bunun içinde Excel dosyaları var. Bu dosya isimlerini Userform içindeki Listbox'a nasıl listeleyebilirim. Çok örnek var ama hiçbirini kendi dosyama uyarlayamadım. Rica etsem yardım edebilir misiniz.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,598
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Aşağıdaki kodu kullanabilirsiniz.

Kod:
Private Sub UserForm_Initialize()

Set fso = VBA.CreateObject("scripting.filesystemobject")

yol = "klasör" & "\"


For Each kls In fso.getfolder(yol).Files

    ListBox1.AddItem fso.getbasename(kls.Name)

Next kls

End Sub
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,598
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Chatgpt aşağıdaki kodu verdi.

Kod:
Private Sub UserForm_Initialize()
    ' UserForm açıldığında ListFilesInFolder makrosunu çağırın
    ListFilesInFolder
End Sub

Sub ListFilesInFolder()
    Dim MyFolder As String
    Dim MyFile As String
    Dim i As Integer

    ' Klasör yolunu alın
    MyFolder = "C:\Path\To\Your\Folder\" ' Klasör yolunu kendi klasör yolunuzla değiştirin

    ' Listbox içeriğini temizle
    UserForm1.ListBox1.Clear

    ' Klasördeki her dosya için döngü
    MyFile = Dir(MyFolder & "*.*")
    Do While MyFile <> ""
        ' Sadece dosya isimlerini al
        If Not (MyFile = "." Or MyFile = "..") Then
            ' Listbox'a dosya ismini ekle
            UserForm1.ListBox1.AddItem MyFile
        End If
        ' Bir sonraki dosyayı al
        MyFile = Dir
    Loop
End Sub
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
686
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Chatgpt aşağıdaki kodu verdi.

Kod:
Private Sub UserForm_Initialize()
    ' UserForm açıldığında ListFilesInFolder makrosunu çağırın
    ListFilesInFolder
End Sub

Sub ListFilesInFolder()
    Dim MyFolder As String
    Dim MyFile As String
    Dim i As Integer

    ' Klasör yolunu alın
    MyFolder = "C:\Path\To\Your\Folder\" ' Klasör yolunu kendi klasör yolunuzla değiştirin

    ' Listbox içeriğini temizle
    UserForm1.ListBox1.Clear

    ' Klasördeki her dosya için döngü
    MyFile = Dir(MyFolder & "*.*")
    Do While MyFile <> ""
        ' Sadece dosya isimlerini al
        If Not (MyFile = "." Or MyFile = "..") Then
            ' Listbox'a dosya ismini ekle
            UserForm1.ListBox1.AddItem MyFile
        End If
        ' Bir sonraki dosyayı al
        MyFile = Dir
    Loop
End Sub
Merhaba Erdem bey. Chatgpt verdiğiö kodları aşağıdaki gibi yaptım form açılıyor, hata vermiyor ama dosya isimlerini listbox'a getirmiyor.

Dim MyFolder As String
Dim MyFile As String
Dim i As Integer

' Klasör yolunu alın
MyFolder = "C:\Path\To\Your\DESTKOP\STAJYER_ÖĞRENCİ_PUANTAJI" ' Klasör yolunu kendi klasör yolunuzla değiştirin

' Listbox içeriğini temizle
UserForm41.ListBox4.Clear

' Klasördeki her dosya için döngü
MyFile = Dir(MyFolder & "*.*")
Do While MyFile <> ""
' Sadece dosya isimlerini al
If Not (MyFile = "." Or MyFile = "..") Then
' Listbox'a dosya ismini ekle
UserForm41.ListBox4.AddItem MyFile
End If
' Bir sonraki dosyayı al
MyFile = Dir
Loop


Sizin kodu da aşağıdaki gibi yaptım onda da dosya bulunamadı diye hata veriyor.

Set fso = VBA.CreateObject("scripting.filesystemobject")

yol = "klasör" & "Destkop\STAJYER_ÖĞRENCİ_PUANTAJI"


For Each kls In fso.getfolder(yol).Files

ListBox1.AddItem fso.getbasename(kls.Name)

Next kls

Alamadığım için tam olarak uygulayamadım kendi dosyama. Klasörüm masaüstünde. Sizin kodda kırmızı renkli olan klasör" olan yere ne yazmam gerekiyor.
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,519
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Erdem beyin önerisindeki aşağıdaki bölümü kendi sisteminize göre güncellemeniz gerekiyor..

yol = "klasör" & "\"

Aşağıdaki gibi olabilir..

C++:
yol = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\STAJYER_ÖĞRENCİ_PUANTAJLARI\"
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
686
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Erdem beyin önerisindeki aşağıdaki bölümü kendi sisteminize göre güncellemeniz gerekiyor..

yol = "klasör" & "\"

Aşağıdaki gibi olabilir..

C++:
yol = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\STAJYER_ÖĞRENCİ_PUANTAJLARI\"
Teşekkürler Korhan bey düzeldi.
 
Üst