• DİKKAT

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

bir klasördeki dosyaların isimlerini excelde listeleme?

Katılım
13 Mayıs 2005
Mesajlar
4
herkese merhaba, :hey: foruma henüz yeni üye oldum. şimdiye kadar excel bilgim sadece basit listelemeler,formüller ve grafikler yapabilmekti. umarım forumu sık sık takip edip excel kullanmayı öğreneceğim.

belki forumda bir yerlerde soracağım sorunun cevabı vardır ama biraz acelem olduğu için tek tek bakamadım o yüzden yeni bir başlık altında sizlere danışıyorum. umarım sakıncası yoktur.

öğrenmek istediğim konu şu ki, bilgisayardaki herhangi bir klasörün içindeki dosyaların isimlerini excelde liste halinde görmek istiyorum. bugüne kadar tek tek yazarak listeliyordum ama iş zıvanadan çıktı.

yüzlerce pdf dosyası var ve bana bunların isimlerini içeren bir liste lazım. nasıl hazırlayabileceğim konusunda bana yardım edebilir misiniz? şimdiden teşekkürler...
 
Aşağıdaki kod klasör içindeki isimleri A sütununa yazacaktır. Kod Sn bedersu'nun yukarıda verilen linkinteki çalışmalarından alınmıştır. Kendisine bir kez daha teşekkür ediyorum. Siz dosya yolunu kendinize göre değiştirirsiniz.

Kod:
Sub Dosya_İsimleri()
Dim ds, dc, f, s
Set ds = CreateObject("Scripting.FileSystemObject")
Set f = ds.GetFolder("C:\istatistic")
Set dc = f.Files
For Each dosya In dc
c = c + 1
Cells(c, 1) = dosya.Name
Next
End Sub
 
teşekkür ederim ama benim için çok ağır bir cevap oldu.. sanırım daha bir fırın ekmek yemem gerekecek benim bunu anlayabilmem ve yapabilmem için
 
Dosyaların isimlerinin alınacağı klasörün yolunu yazarmısınız,ona göre size bir örnek dosya göndereyim.
 
Bir alternatif;

Kod:
Sub Test()
Dim MyFolder As String, MyFile As String
Dim i As Long
MyFolder = "[COLOR=red]C:\Temp[/COLOR]"
MyFile = Dir(MyFolder & Application.PathSeparator & "[COLOR=red]*.pdf[/COLOR]", vbDirectory)
Do While MyFile <> ""
Cells(i + 1, 1) = MyFile
i = i + 1
MyFile = Dir
Loop
End Sub
 
Ekteki dosyayı inceleyin.

NOT:eğer klasördeki sadece pdf uzantılı dosyaları almanız gerekiyorsa bu durumda Sn Raider'in verdiği kodu kullanmanızı öneririm.
 
bu sorum vesilesiyle daha çok okudum araştırdım kod yazmayı öğrenmeye başladım yavaş yavaş.. ama şimdi de yeni birşey merak ediyorum. :?
mesela farklı farklı klasörlerden dosyaların adlarını aynı excel sayfasında alt alta listelemek istersek ne olacak? yani aynı kodu farklı yollar için yazacağımız zaman ya da farklı kodlara aynı sayfada yer vermek istediğimizde nasıl yapıyoruz?
selamlar şimdiden teşekkürler
 
Bir alternatif:

Kod:
Sub Test2()
Dim strFolder1 As String, strFolder2 As String
 
strFolder1 = "C:\Temp"
strFolder2 = "C:\Sinav"
 
Call GetFiles(strFolder1, "*.pdf")
Call GetFiles(strFolder2, "*.xls")
End Sub
'
Sub GetFiles(MyFolder As String, Ext As String)
Dim MyFile As String
Dim NoA As Long
MyFile = Dir(MyFolder & Application.PathSeparator & Ext, vbDirectory)
Do While MyFile <> ""
NoA = Range("A65536").Cells.End(xlUp).Row
Range("A" & NoA + 1) = MyFile
MyFile = Dir
Loop
End Sub
 
Bir alternatif:

Kod:
Sub Test2()
Dim strFolder1 As String, strFolder2 As String
 
strFolder1 = "C:\Temp"
strFolder2 = "C:\Sinav"
 
Call GetFiles(strFolder1, "*.pdf")
Call GetFiles(strFolder2, "*.xls")
End Sub
'
Sub GetFiles(MyFolder As String, Ext As String)
Dim MyFile As String
Dim NoA As Long
MyFile = Dir(MyFolder & Application.PathSeparator & Ext, vbDirectory)
Do While MyFile <> ""
NoA = Range("A65536").Cells.End(xlUp).Row
Range("A" & NoA + 1) = MyFile
MyFile = Dir
Loop
End Sub

Haluk hocam, öncelikle emeğinize sağlık.
Şöyle bir şey mümkün mü?
GetFiles prosodüründeki MyFile değerine geldiği zaman klasörlere gözat penceresi gelecek ve tamama basılan klasördeki (Örn: C\:deneme) Ext değerindeki uzantıları a sütununa listeleyecek, b sütununa a daki dosyanın bulunduğu klasörü yazacak.

bunu alt klasörleri içinde geliştirmek mümkün mü? (Örn: C\:deneme\alt1,C\:deneme\alt2 .................. C\:deneme\altx gb) Sistemi kasma olasılığı nedir?
 
Aşağıdaki kod klasör içindeki isimleri A sütununa yazacaktır. Kod Sn bedersu'nun yukarıda verilen linkinteki çalışmalarından alınmıştır. Kendisine bir kez daha teşekkür ediyorum. Siz dosya yolunu kendinize göre değiştirirsiniz.

Kod:
Sub Dosya_İsimleri()
Dim ds, dc, f, s
Set ds = CreateObject("Scripting.FileSystemObject")
Set f = ds.GetFolder("C:\istatistic")
Set dc = f.Files
For Each dosya In dc
c = c + 1
Cells(c, 1) = dosya.Name
Next
End Sub

bu codu nereye yazıpda calıstırıcazz yardım lutfenn
 
Ekli dosyadaki butona basarak istediğiniz işlemi yapabilirsiniz. Makro güvenlik ayarınızın düşük olduğundan emin olun.
 

Ekli dosyalar

Selamlar,

Modüldeki kodu aşağıdaki şekilde değiştirin.

Kod:
Sub Dosya_İsimleri()
    [a:a].ClearContents
    Set klasor = CreateObject("Shell.Application").BrowseForFolder(0, "Lütfen dosyaları listelenecek klasörü seçin !", &H100)
    yol = klasor.Items.Item.Path
    If yol = "" Then Exit Sub
    Set nesne = CreateObject("Scripting.FileSystemObject")
    Set dosyalar = nesne.GetFolder(yol)
    Set liste = dosyalar.Files
    For Each dosya In liste
    c = c + 1
    Cells(c, 1) = [COLOR=red]dosya.Path[/COLOR]
    Next
End Sub

Listeleme yapılan sayfanızın kod bölümüne de aşağıdaki kodu uygulayın. A sütunundaki hücrelere çift tıkladığınızda dosyalarınız açılacaktır.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column <> 1 Then Exit Sub
    Cancel = True
    CreateObject("Shell.Application").Open Target.Text
End Sub
 
Merhaba üstadlar
Klasör yolunu belli bir hüzreden aldırmak istiyorum. Kodu nasıl düzenlemeliyim.
 
Bir alternatif:

Kod:
Sub Test2()
Dim strFolder1 As String, strFolder2 As String
 
strFolder1 = "C:\Temp"
strFolder2 = "C:\Sinav"
 
Call GetFiles(strFolder1, "*.pdf")
Call GetFiles(strFolder2, "*.xls")
End Sub
'
Sub GetFiles(MyFolder As String, Ext As String)
Dim MyFile As String
Dim NoA As Long
MyFile = Dir(MyFolder & Application.PathSeparator & Ext, vbDirectory)
Do While MyFile <> ""
NoA = Range("A65536").Cells.End(xlUp).Row
Range("A" & NoA + 1) = MyFile
MyFile = Dir
Loop
End Sub

Haluk Hocam,

Öncelikle teşekkür ederim.

Bu kadar geçen zamandan sonra konuyu hortlatmış gibi olacağım sanırım.
Tam aradığım makro bu idi. Ancak bununla birlikte mümkünse yapabilmeyi istediğim birkaç şey daha var.

1- A sütununa dosya listesi geliyor. Ben istiyorum ki B sütununa da dosyanın bulunduğu klasör ismi gelsin.

2- B sütunundaki klasör ismi üzerine tıklayınca (tek ya da çift) klasör açılsın.

3- Dosya üzerine tıklayınca da (pdf, docx, xlsx gibi) o dosya kendi programı ile açılsın.

:)
:yardim:
 
Hocam, "21.11.2013_1234" şeklinde dosya adıyla kayıtlı pdf dosyaları var. Bunları tarih, bir sütuna _ den sonrasını bir sütuna nasıl alabilirim.
 
merhaba
Öncelikle Teşekkür ederim.
bu bilgi çok içime yaradı

Pdf dosyalarını excele atıyorum ancak şöyle bir durum var

c:\New folder (Dosyalar burada ise sorun yok )ama
c:\New folder\a - b\b2 - c gibi alt klasörler var ve hepsinin içinde ayrı pdf ler var ise hepsi için ayrı yolmu yapmalıyız

Macroyu new folder klasörünün bütün alt klasörlerine tek seferde uygulayamazmıyız ?

desteğiniz için teşekkür ederim.
 
Geri
Üst