• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

C:\Resimler dosyasından resimlerin isimlerini almak

Katılım
17 Haziran 2006
Mesajlar
348
Excel Vers. ve Dili
2003 - TR / 2007 - TR
Merhabalar
C:\Resimler dosyasından resimlerin isimlerini excel sayfasına almak mümkünmüdür. İyi Çalışmalar...
 
Kod:
Sub Test()
    MyPath = "C:\Resimler"
    MyFile = Dir(MyPath & Application.PathSeparator & "*.jpg", vbDirectory)
    Do While MyFile <> ""
        i = i + 1
        Cells(i, 1) = MyFile
        MyFile = Dir
    Loop
End Sub
 
jpg uzantılı dosyaların A sütununa yalnızca adlarını yazar.:cool:
Kod:
Sub resimal()
Dim yol, dosya As String, sat As Long
yol = "C:\Resimler\"
dosya = Dir(yol & "*.jpg")
Range("A1:A65536").ClearContents
Do While dosya <> ""
    sat = sat + 1
    Cells(sat, "A").Value = Left(dosya, Len(dosya) - 4)
    dosya = Dir
Loop
MsgBox "İşlem tamam"
    
End Sub
 
Bilgi..

Haluk Bey sizin kod hata verdi..

Evren Bey sizin kodlar&#305;n&#305;z sonu&#231; veriyor..
 
Sa&#287;l&#305;k olsun...
 
merhaba
syn Evren Gizlen,
kodda dosya yolunu yazarken bask&#305; hatas&#305; yapm&#305;&#351;&#305;m (yanl&#305;&#351; harf) :)
kod gayet g&#252;zel &#231;al&#305;&#351;&#305;yor, eline sa&#287;l&#305;k.
 
Haklı olabilirsiniz ama benim dosyada çalışmadı.. MyPath burada hata veriyor..
Variable not defined hatası veriyor..

Hata, benim kodumdan dolayı değil.... sizin orjinal kodunuzda ilk satırda "Option Explicit" ifadesi olmasından kaynaklanıyor.

O satırı silin.... kod hatasız çalışır.



.
 
Hata, benim kodumdan dolayı değil.... sizin orjinal kodunuzda ilk satırda "Option Explicit" ifadesi olmasından kaynaklanıyor.

O satırı silin.... kod hatasız çalışır.



.

Haluk bey haklısınız düzeldi. Option Explicit her yeni makro açılırken otomatik geliyor sebebi nedir acaba. Birde hem jpg hem de gif olarak almak istersek nasıl bir değişiklik gerekiyor.. Teşekkürler..
 
VBE edit&#246;r&#252;nde Tools >> Options men&#252;s&#252;n&#252; t&#305;klay&#305;n.

"Editor" sekmesinde "Require variable declaration" k&#305;sm&#305;ndaki onay i&#351;aretini kald&#305;r&#305;n, pencereyi onaylay&#305;p, kapat&#305;n.


.
 
Te&#351;ekk&#252;rler. ayn&#305; anda .gif uzatt&#305;lar&#305; da ald&#305;rmak i&#231;in nas&#305;l bir de&#287;i&#351;iklik gerekiyor.
 
Resimler klas&#246;r&#252;ndeki t&#252;m dosyalar i&#231;in

dosya = Dir(yol & "*.*") &#351;eklinde denermisiniz...
 
Kod:
Sub Test2()
    MyExt = Array("*.jpg", "*.gif")
    MyPath = "C:\Resimler"
    For j = LBound(MyExt) To UBound(MyExt)
        MyFile = Dir(MyPath & Application.PathSeparator & MyExt(j), vbDirectory)
        Do While MyFile <> ""
            i = i + 1
            Cells(i, 1) = MyFile
            MyFile = Dir
        Loop
    Next
End Sub
 
Kod:
Sub resimal()
Dim yol, dosya As String, sat As Long, dosya2 As String
yol = "C:\Evren\Resimler\"
dosya = Dir(yol & "*.jpg")
Range("A1:A65536").ClearContents
Do While dosya <> ""
    sat = sat + 1
    Cells(sat, "A").Value = Left(dosya, Len(dosya) - 4)
    dosya = Dir
Loop
dosya2 = Dir(yol & "*.gif")
Do While dosya2 <> ""
    sat = sat + 1
    Cells(sat, "A").Value = Left(dosya2, Len(dosya2) - 4)
    dosya2 = Dir
Loop
MsgBox "İşlem tamam"
End Sub
 
&#199;ok &#199;ok Te&#351;ekk&#252;r ederim Haluk bey, Evren bey, Ayhan bey ve eme&#287;i ge&#231;en arkada&#351;lara..

Haluk bey aff&#305;n&#305;za s&#305;&#287;&#305;narak koda ilave yapt&#305;m. &#304;&#351;lem uzun s&#252;r&#252;yordu... Te&#351;ekk&#252;rler...

Sub Test2()
Application.ScreenUpdating = False
MyExt = Array("*.jpg", "*.gif")
MyPath = "C:\Resimler"
For j = LBound(MyExt) To UBound(MyExt)
myfile = Dir(MyPath & Application.PathSeparator & MyExt(j), vbDirectory)
Do While myfile <> ""
i = i + 1
Cells(i, 3) = myfile
Cells(i, 3).Value = Left(myfile, Len(myfile) - 4)
myfile = Dir
Loop
Next
Application.ScreenUpdating = True
End Sub
 
Haluk hocam bir soruda ben sorabilirmiyim.
İlk verdiğiniz kodlarda klasör arasındaki separöter için Application.separator kullanmışsınız.
Fakat C:\ Kök dizinindeki \ seperatörünü \ karakterini sabit olarak kullanmışsınız.
Kök dizinini belirleyen separoterler sabit kalıp değişmiyorlarmı?
Kök dizinden sonraki separotor hep \ karakterimi oluyor?
Teşekkür ederim.
 
Asl&#305;nda, i&#351;in do&#287;rusu birincisini de "Application.PathSeparator" olarak yapmak.

Bazen &#252;&#351;eniyorum i&#351;te...


.
 
Geri
Üst