Belli Bir Dizin'deki Resimlerin sadece isimlerini almak

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,712
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

D:\Resimler\YemekResimleri\Yemekler.jpg ' de kayıtlı .jpg uzantılı resimlerin sadece isimlerini, bir excel sayfasında (örn; L sütundan başlayarak), alfabetik olarak ve 25'erli gruplar halinde, almak.

Teşekkür ederim.
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba

Aşağıdaki Kodu deneyiniz...

Kod:
Sub DENEME()
Dim dosya, i As Integer
dosya = Dir("D:\RESİMLER\Yemek Resimleri\YEMEKLERJPG\*.jpg")
i = 1
    While dosya <> ""
        Cells(i, "L") = dosya
        dosya = Dir
        i = i + 1
    Wend
End Sub
 

İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,104
Excel Vers. ve Dili
Excel, 365 - İngilizce
DOS command window penceresinde:

dir D:\Resimler\YemekResimleri\ >c:\dosyalistesi.txt

yazarak dosyalar&#305;n&#305;z&#305;n ad&#305;n&#305; dosyalistesi ad&#305;ndaki bir text dosyas&#305;na al&#305;n. Sonra Excel ile bu dosyay&#305; a&#231;&#305;n.

.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,712
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba

Aşağıdaki Kodu deneyiniz...

Kod:
Sub DENEME()
Dim dosya, i As Integer
dosya = Dir("D:\RESİMLER\Yemek Resimleri\YEMEKLERJPG\*.jpg")
i = 1
    While dosya <> ""
        Cells(i, "L") = dosya
        dosya = Dir
        i = i + 1
    Wend
End Sub
Sayın Ayhan Ercan, merhaba ve teşekkür ederim,

Kod, verileri "L" sütununa, alfabetik olarak sıraladı,

Zaman bulduğunuzda "L" için 25 satır "M" için 25 satır "N" için 25 satır gibi, her 25 satırda bir yandaki kolona yazdırabilecek kodu oluşturursanız memnun olurum.

Herşey gönlünüzce olsun, saygılarımla.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,712
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
DOS command window penceresinde:

dir D:\Resimler\YemekResimleri\ >c:\dosyalistesi.txt

yazarak dosyalarınızın adını dosyalistesi adındaki bir text dosyasına alın. Sonra Excel ile bu dosyayı açın.

.
Sayın Yurttas, ilginiz için teşekkür ederim, sağolun, saygılar sunarım.
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Say&#305;n Ayhan Ercan, merhaba ve te&#351;ekk&#252;r ederim,

Kod, verileri "L" s&#252;tununa, alfabetik olarak s&#305;ralad&#305;,

Zaman buldu&#287;unuzda "L" i&#231;in 25 sat&#305;r "M" i&#231;in 25 sat&#305;r "N" i&#231;in 25 sat&#305;r gibi, her 25 sat&#305;rda bir yandaki kolona yazd&#305;rabilecek kodu olu&#351;turursan&#305;z memnun olurum.

Her&#351;ey g&#246;nl&#252;n&#252;zce olsun, sayg&#305;lar&#305;mla.
Merhaba Say&#305;n 1Al2Ver

A&#351;a&#287;&#305;da kodda ilave edilmi&#351; sat&#305;rlar k&#305;rm&#305;z&#305; olarak (a&#231;&#305;klamalar&#305;yla) belirtilmi&#351;tir..
Mavi Sat&#305;r ise H&#252;crelere sadece isimlerin gelmesini sa&#287;lar ( .jpg Uzant&#305;lar&#305;n&#305; yazmaz)

Kod:
Sub DENEME()
Dim dosya, i As Integer
dosya = Dir("D:\RES&#304;MLER\Yemek Resimleri\YEMEKLERJPG\*.jpg")
i = 1
[COLOR=red][B]j = 12  [COLOR=#2e8b57]' 12, "L" nin S&#252;tun Say&#305;s&#305;[/COLOR][/B][/COLOR]
    While dosya <> ""
        [COLOR=red][B][COLOR=royalblue]Cells(i, j) = Left(dosya, WorksheetFunction.Find(".", dosya, 2) - 1)[/COLOR] [/B][/COLOR]
        dosya = Dir
        i = i + 1
        [B][COLOR=red]If i = 25 Then j = j + 1: i = 1 [/COLOR][COLOR=seagreen]' i sat&#305;r say&#305;s&#305;d&#305;r. i = 25 oldu&#287;unda j sayac&#305;n&#305; (L s&#252;t&#252;n say&#305;s&#305;n&#305;) 1 art&#305;r, i (sat&#305;r say&#305;s&#305;)'i tekrar 1' e d&#246;nd&#252;r[/COLOR][/B]
    Wend
End Sub
 
Son düzenleme:

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,712
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba Sayın 1Al2Ver

Aşağıda kodda ilave edilmiş satırlar kırmızı olarak (açıklamalarıyla) belirtilmiştir..
Mavi Satır ise Hücrelere sadece isimlerin gelmesini sağlar ( .jpg Uzantılarını yazmaz)

Kod:
Sub DENEME()
Dim dosya, i As Integer
dosya = Dir("D:\RESİMLER\Yemek Resimleri\YEMEKLERJPG\*.jpg")
i = 1
[COLOR=red][B]j = 12  [COLOR=#2e8b57]' 12, "L" nin Sütun Sayısı[/COLOR][/B][/COLOR]
    While dosya <> ""
        [COLOR=red][B][COLOR=royalblue]Cells(i, j) = Left(dosya, WorksheetFunction.Find(".", dosya, 2) - 1)[/COLOR] [/B][/COLOR]
        dosya = Dir
        i = i + 1
        [B][COLOR=red]If i = 25 Then j = j + 1: i = 1 [/COLOR][COLOR=seagreen]' i satır sayısıdır. i = 25 olduğunda j sayacını (L sütün sayısını) 1 artır, i (satır sayısı)'i tekrar 1' e döndür[/COLOR][/B]
    Wend
End Sub
Sayın Ayhan Ercan, tekrar merhaba, elinize sağlık, kod gayet güzel işlemekte, emek ve ilginiz için teşekkür ederim, saygılarımla.
 

Bagcivan

Altın Üye
Katılım
7 Ağustos 2008
Mesajlar
193
Excel Vers. ve Dili
office 2019 türkçe
Altın Üyelik Bitiş Tarihi
11-10-2027
Arkada&#351;lar konuyla ilgili degil ama benim bir sualim olucakt&#305; &#351;imdi bu kodlar&#305; alt+11 yap&#305;p vba ya ge&#231;tikten sonra nereye yaz&#305;yoruz yani solda gorunen sayfa1 2... olan yere mi ?
 
Üst