C:\Resim içindeki *.jpg dosyalarının sayısını bulma

Katılım
21 Ekim 2005
Mesajlar
9
Merhaba

Ã?rneğin:
C:\Resimler klasöründe A, B, C klasörlerinde *.jpg uzantılı resimler var. Excel çalışma sayfasındaki A1 hücresine A yazdığımda C:\Resimler içindeki A klasöründeki *.jpg uzantılı dosyalarının sayısını A2 hücresinde göstermem mümkün mü? vaya B yazdığımda B deki resimlerin sayısı.

Teşekkürler.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
[vb:1:0944fb5f9b]Sub Test()
Dim i As Integer
Dim Yol As String
Yol = "C:\Resimler" & Application.PathSeparator & Range("A1")
ChDir (Yol)
ResimDosya = Dir("*.jpg")
Range("B:B").ClearContents
i = 2
While ResimDosya <> ""
Cells(i, 2) = ResimDosya
i = i + 1
ResimDosya = Dir
Wend
Range("C2") = "Toplam " & i - 2 & " adet resim var."
End Sub
[/vb:1:0944fb5f9b]
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bir alternatifte ben sunayım. Aşağıdaki kodu sayfanın kod sayfasına kopyalayın. A1 hücresine yazdığınız harfe göre dosya sayısını A2 ye yazacaktır.

[vb:1:8858088981]Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, [a1]) Is Nothing Then Exit Sub
For Each dosya In CreateObject("Scripting.FileSystemObject").GetFolder("C:\resimlerim\" & [a1] & "\").Files
If Right(dosya.Name, 3) = "JPG" Then c = c + 1
Next
[a2] = c
Exit Sub
10 MsgBox Target & " isminde bir klasör bulunamadı"
End Sub[/vb:1:8858088981]
 
Katılım
21 Ekim 2005
Mesajlar
9
Ã?ncelikle cevaplar için çok teşekkür ederim. Her iki cevapta da sonuçlar alıyorum ama tam anlamıyla sağlıklı çalışmıyor yada ben çalıştıramadım.

Haluk arkadaşımın Kodu: Belgelerim içindeki Resimlerim'deki resimleri sayıyor. YOL'u c:\Resim veya c:\ABC yapıyorum (bunlar yoksa hata veriyor) ama yine de Belgelerim\Resimler'in içindeki resimleri sayıyor.

leventm arkadaşımın kodu: C:\Resimlerim içindeki bazı klasörleri sayıyor bazılarını saymıyor. Yeni oluşturduğum a klasörünü bazen sayıyor bazen saymıyor. Ã?rneğin hakan klasörünü C:\Resimlerim klasörünü içine yapıştırıyorum. Klasör bulunamadı hatası vermiyor ama resimleri saymıyor.

Teşekkürler
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
hakan_bim' Alıntı:
Her iki cevapta da sonuçlar alıyorum ama tam anlamıyla sağlıklı çalışmıyor yada ben çalıştıramadım.

Haluk arkadaşımın Kodu: Belgelerim içindeki Resimlerim'deki resimleri sayıyor.
Bilgisayarınızda;

C:\Resimler

C:\Resimler\A

C:\Resimler\B

C:\Resimler\C

klasörleri mevcut olması gerekiyor. Bu şekkilde olduğunu siz kendi orjinal mesajınızda belirtmiştiniz. Bu durumda, herhangibir bir problem olmaması gerekir.
 
Katılım
21 Ekim 2005
Mesajlar
9
Haluk' Alıntı:
Bilgisayarınızda;

C:\Resimler

C:\Resimler\A

C:\Resimler\B

C:\Resimler\C

klasörleri mevcut olması gerekiyor. Bu şekkilde olduğunu siz kendi orjinal mesajınızda belirtmiştiniz. Bu durumda, herhangibir bir problem olmaması gerekir.
Aynen dediğiniz gibi ama anlayamadığım nedenden dolayı belgelerim içindeki resimleri sayıyor. ama C'de Resimler klasörü yoksa ve orada bulunan "9 B klasörü" için A1 hücresine "9 B" yazmazsam da hata veriyor. yazarsam da h sürücüsünde bulunan belgelerim klasöründeki resimleri sayıyor.
 
Katılım
21 Ekim 2005
Mesajlar
9
leventm' Alıntı:
If Right(dosya.Name, 3) = "JPG" Then c = c + 1
If Right(dosya.Name, 3) = "jpg" burada belirtilen uzantıyı küçük harfle değiştirince oldu. bilgisayardaki resimlerin uzantıları küçükmüş.

Teşekkürler.
 
Üst