Klasör içindeki klasör isimlerinin A sütununa listelenmesi

Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
Klasör içindeki hertürlü klasör ve dosya isimlerinin A sütununa listelenmesi ve değiş

Forumun Değerli üyeleri Hayırlı günler

Forumda bu konuda arama yaptım Fakat örnekler dosya çeşitleri ile ilgili ben ise her türlü klasör ve dosya isimlerini listelemek istiyorum.

Arkadaşlar bir klasör içindeki hertürlü dosyanın isimlerini A sütununa listesini almak istiyorum.

Buna ilave olarak eğer mümkünse A sütununa aldığım dosya isimlerini, karşılığındaki B sütununa yazdığım ve benim belirlediğim yeni isimleri ile değiştirmek istiyorum. Bu şekilde binlerce dosyam var çok ikrama geçecek.

Yardımlarınızı rica ediyorum.
Saygılar
 
Son düzenleme:
Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
Lütfen konu hakkında bilgisi olan arkadaşlardan ilgi bekliyorum.
Saygılar
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,374
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Klasör altında alt klasör bulunuyor mu?
 
Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
Sayın Anemos
ilgin için teşekkür ederim.
Klasör içinde alt klasör ve yanında resim, word, excell gibi her türlü dosya bulunabiliyor
 
Katılım
22 Mart 2005
Mesajlar
847
Excel Vers. ve Dili
Excel-2003 TR.
Altın Üyelik Bitiş Tarihi
29-06-2023
Merhaba;
Klasör veya dizin içindeki dosya isimlerini aşağıdaki kod ile listeleyebilirsin.

Option Explicit
Sub dosyalarilistele()
Dim i As Integer
With Application.FileSearch
.NewSearch
.LookIn = "d:\"
.Filename = "*.xls"
.SearchSubFolders = True
.MatchTextExactly = True
.Execute
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
Cells(i, 1) = .FoundFiles(i)
Next i
End If
End With
End Sub
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,374
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Alternatif. Office 2007 de FileSearch sorunu yaşayanlar için kullanışlıdır.
Kod:
Sub Start()
Dim klasor As Object
 
Set klasor = CreateObject("Shell.Application").BrowseForFolder _
                    (0, "Lütfen bir klasor seçin !", 1)
                    
Liste (klasor.Items.Item.Path)
AltListe (klasor.Items.Item.Path)
 
Set klasor = Nothing
End Sub
 
Private Sub Liste(yol As String)
Dim dosya As String, i As Long
 
    dosya = Dir(yol & "\*.*")
    i = 1
    While dosya <> ""
        DoEvents
        i = i + 1
        Cells(i, 1) = yol & dosya
        dosya = Dir
    Wend
End Sub
 
Private Sub AltListe(yol As String)
Dim fL As Object, f As Object, dosya As String, j As Long
Set fL = CreateObject("Scripting.FileSystemObject").GetFolder(yol).SubFolders
 
On Error GoTo sonraki
For Each f In fL
    dosya = Dir(f.Path & "\*.*")
    
    While dosya <> ""
        DoEvents
        j = [a65000].End(3).Row + 1
        Cells(j, 1) = yol & "\" & dosya
        dosya = Dir
    Wend
    
    AltListe (f.Path)
sonraki:
Next

Set fL = Nothing
End Sub
 
Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
Say&#305;n leventer ve Anemos karde&#351;ler &#231;ok te&#351;ekk&#252;r ederim
dosya isimlerini listeledim
Ancak &#351;imdi i&#351;i bitirecek k&#305;s&#305;m &#351;&#246;yle

A s&#252;tununda dosya ve klas&#246;r isimleri s&#305;raland&#305;
A s&#252;tunundadaki her dosyan&#305;n B sutunundaki kar&#351;&#305;l&#305;&#287;&#305;na orjinal dosya isminden ba&#351;ka dosya isimleri yazd&#305;ktan sonra toplu olarak t&#252;m dosya isimlerini yenileri ile farkl&#305; yeni bir klas&#246;r alt&#305;nda yeniden olu&#351;turmak istiyorum
benim gibi acemilere &#231;ok zor fakat
Sizler i&#231;in kolay olsa gerek
Sayg&#305;lar
 
Katılım
22 Mart 2005
Mesajlar
847
Excel Vers. ve Dili
Excel-2003 TR.
Altın Üyelik Bitiş Tarihi
29-06-2023
Bir sorum olacak yalnız;

Dosya isimleri A sütununda sıraladı B sütunundaki yeni isimler ile değiştirilecek. Yeni isimler sıralımı olacak yani b sütunundaki isimlere örnek verecek olursak örneğin; levent1,levent2,levent3........... şeklindemi gidecek.
ikincisi ise; bu dosya değişiklikleri sadece .xls dosyalarındamı olacak.
 
Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
bu de&#287;i&#351;iklikler sadce jpg uzant&#305;l&#305; dosyalar i&#231;in olacak

ve her dosya i&#231;in bir birini takip eden dizin isimler de&#287;ilde farkl&#305; farkl&#305; isimleri b s&#252;tununa ayr&#305; ayr&#305; yazaca&#287;&#305;m
dosyalar i&#231;inde bir numaran&#305;nda yer ald&#305;&#287;&#305; resim dosyalar&#305;
resimdeki numaraya a&#231;&#305;p bak&#305;p o numaray&#305; dosya ismi olarak verece&#287;im
ayr&#305;ca bir g&#246;r&#252;nleme makrom var onunla a s&#252;tununda gezerken resimleri s&#305;ra ile g&#246;r&#252;nt&#252;leyebiliyorum
 
Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
A&#351;a&#287;&#305;daki makro ile resimleri an&#305;nda g&#246;r&#252;nt&#252;leyebiliyorum.
Private Sub Worksheet_SELECTIONChange(ByVal Target As Range)
On Error Resume Next
ActiveSheet.Pictures.Delete

If Target.Column <> 1 Then Exit Sub
ActiveSheet.Pictures.Insert ("C:\Documents and Settings\kullan&#305;c&#305;\Belgelerim\Resimlerim\2008 TARAMALAR\" & Target & ".jpg") 'Resimlerinizin bulundu&#287;u yolu yaz&#305;n.
End Sub
 
Katılım
12 Kasım 2007
Mesajlar
327
Excel Vers. ve Dili
excel 2003
Yard&#305;mc&#305; olan arkada&#351;lara te&#351;ekk&#252;rler
problemin birinci k&#305;sm&#305; &#231;&#246;z&#252;ld&#252;
in&#351;aallah ikinci k&#305;sm&#305;da bir el atarsan&#305;z &#231;&#246;z&#252;lecek
 
Katılım
13 Eylül 2008
Mesajlar
1
Excel Vers. ve Dili
2007 trk
zeki gürsoy arkadaşım teşekkür ediyorum.

forum yöneticisi arkadaşada sitem ediyorum.
bayadır sitenizden calışmalarımda yararlanıyorum. birde arkadaşa teşekür etmek için üye oldum.
5 dakkam gitti bu hepyaşanan bir sorun bu ceşitli programlama dilleri kullanıyorum. kaynak kod ararken kısaca cevaplıyabileceğim. sorular var nasıl sizler bana yardımcı olduysanız. benimde yardımcı olabileceğim bircok husus var ken bunları birkenara bırakıp yoluma devam ediyorum. 2 satır yazmak için 5-10 dakka üye ol. hiç yoksa cevap yazmak için üyelik şartı aramayın. her yere üye olmak mümkün değil.
saygılarımla
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sn. Zeki hocam, ayn&#305; anda listelenen dosyalara link verdirebilirmiyiz.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Alternatif. Office 2007 de FileSearch sorunu yaşayanlar için kullanışlıdır.
Kod:
Sub Start()
Dim klasor As Object
 
Set klasor = CreateObject("Shell.Application").BrowseForFolder _
                    (0, "Lütfen bir klasor seçin !", 1)
 
Liste (klasor.Items.Item.Path)
AltListe (klasor.Items.Item.Path)
 
Set klasor = Nothing
End Sub
 
Private Sub Liste(yol As String)
Dim dosya As String, i As Long
 
    dosya = Dir(yol & "\*.*")
    i = 1
    While dosya <> ""
        DoEvents
        i = i + 1
        Cells(i, 1) = yol & dosya
        dosya = Dir
    Wend
End Sub
 
Private Sub AltListe(yol As String)
Dim fL As Object, f As Object, dosya As String, j As Long
Set fL = CreateObject("Scripting.FileSystemObject").GetFolder(yol).SubFolders
 
On Error GoTo sonraki
For Each f In fL
    dosya = Dir(f.Path & "\*.*")
 
    While dosya <> ""
        DoEvents
        j = [a65000].End(3).Row + 1
        Cells(j, 1) = yol & "\" & dosya
        dosya = Dir
    Wend
 
    AltListe (f.Path)
sonraki:
Next
 
Set fL = Nothing
End Sub
Zeki Hocam Kodlar için teşekkür ederim şöylşe bir düzenleme mümkün mü?
Mesala c:\Belgelerim\Excel\kitap1.xls dosyası mevcut olsun
a sütununa dosyanın adı yani; kitap1.xls
b sütununa dosyanın yolunu yani; c:\Belgelerim\Excel\
kısmını yazacak
Mümkünse
c sütununa dosyanın kaç kb olduğunu
d sütununa dosyanın erişim tarihini falan yazsın.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
14. mesaj&#305;m g&#252;ncelli&#287;ini koruyor, kolay gelsin
 

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
14. mesaj&#305;m g&#252;ncelli&#287;ini koruyor, kolay gelsin
Kod:
Sub Test()
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set MyFile = FSO.GetFile("D:\TestFolder\TestEmail.xls")
    Range("A1") = "Dosya Ad&#305;"
    Range("B1") = "Klas&#246;r"
    Range("C1") = "Dosya Tipi"
    Range("D1") = "Dosya Boyutu"
    Range("E1") = "Olu&#351;turulma Tarihi"
    Range("F1") = "Son Eri&#351;im Tarihi"
    Range("G1") = "Son D&#252;zenleme Tarihi"
    Range("H1") = "Son D&#252;zenleme Zaman&#305;"
    Range("A1:H1").Font.Bold = True
    Range("A1:H1").Font.Color = vbRed
    Range("A2") = MyFile.Name
    Range("B2") = MyFile.ParentFolder
    Range("C2") = MyFile.Type
    Range("D2") = MyFile.Size / 1024 & " Kb"
    Range("E2") = Format(MyFile.DateCreated, "dd.mm.yyyy")
    Range("F2") = Format(MyFile.DateLastAccessed, "dd.mm.yyyy")
    Range("G2") = Format(MyFile.DateLastModified, "dd.mm.yyyy")
    Range("H2") = Format(MyFile.DateLastModified, "hh:mm:ss")
    Columns("A:H").AutoFit
End Sub
 
Son düzenleme:
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
Sub Test()
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set MyFile = FSO.GetFile("D:\TestFolder\TestEmail.xls")
    Range("A1") = "Dosya Tipi"
    Range("B1") = "Dosya Boyutu"
    Range("C1") = "Oluşturulma Tarihi"
    Range("D1") = "Son Erişim Tarihi"
    Range("E1") = "Son Düzenleme Tarihi"
    Range("F1") = "Son Düzenleme Zamanı"
    Range("A1:F1").Font.Bold = True
    Range("A1:F1").Font.Color = vbRed
    Range("A2") = MyFile.Type
    Range("B2") = MyFile.Size / 1024 & " Kb"
    Range("C2") = Format(MyFile.DateCreated, "dd.mm.yyyy")
    Range("D2") = Format(MyFile.DateLastAccessed, "dd.mm.yyyy")
    Range("E2") = Format(MyFile.DateLastModified, "dd.mm.yyyy")
    Range("F2") = Format(MyFile.DateLastModified, "hh:mm:ss")
    Columns("A:F").AutoFit
End Sub
Haluk hocam öncelikle ilginize teşekkür ederim... Ancak benim istediğim tam olarak zeki hocamnın aşağıdaki kodları çalışırken
Alternatif. Office 2007 de FileSearch sorunu yaşayanlar için kullanışlıdır.

Kod:
Sub Start()
Dim klasor As Object
 
Set klasor = CreateObject("Shell.Application").BrowseForFolder _
                    (0, "Lütfen bir klasor seçin !", 1)
 
Liste (klasor.Items.Item.Path)
AltListe (klasor.Items.Item.Path)
 
Set klasor = Nothing
End Sub
 
Private Sub Liste(yol As String)
Dim dosya As String, i As Long
 
    dosya = Dir(yol & "\*.*")
    i = 1
    While dosya <> ""
        DoEvents
        i = i + 1
        Cells(i, 1) = yol & dosya
        dosya = Dir
    Wend
End Sub
 
Private Sub AltListe(yol As String)
Dim fL As Object, f As Object, dosya As String, j As Long
Set fL = CreateObject("Scripting.FileSystemObject").GetFolder(yol).SubFolders
 
On Error GoTo sonraki
For Each f In fL
    dosya = Dir(f.Path & "\*.*")
 
    While dosya <> ""
        DoEvents
        j = [a65000].End(3).Row + 1
        Cells(j, 1) = yol & "\" & dosya
        dosya = Dir
    Wend
 
    AltListe (f.Path)
sonraki:
Next
 
Set fL = Nothing
End Sub
ilgili işlemlerin yan sütunlarına yapılmasıdır. yani set etme işlemi döngü içinde yapılacak,
Saygılarımla,
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sn. hsayar &#351;u &#351;ekilde bir kod buldum, dosyalara link de veriyor, incelermisiniz.

Sub Dateiname_Hyperlink()
Dim StDateiname As String
Dim Dateiform As String
Dim InI As Long, TotFiles As Long
Dim Suchpfad As String
Dim OldStatus As Variant
Suchpfad = InputBox("Yolunu de&#287;i&#351;tirebilirsiniz", "Adres yolu", Application.DefaultFilePath)
If Suchpfad = "" Then Exit Sub
Dateiform = InputBox("Dosya uzant&#305;s&#305;n&#305; siz de&#287;i&#351;tiriniz", "Uzant&#305;", "*.xls")
If Dateiform = "" Then Exit Sub
Application.ScreenUpdating = True
OldStatus = Application.StatusBar
Sheets.Add After:=Worksheets(Worksheets.Count)
With Application.FileSearch
.LookIn = Suchpfad
.SearchSubFolders = True
.Filename = Dateiform
If .Execute() > 0 Then
TotFiles = .FoundFiles.Count
Application.StatusBar = "Total " & TotFiles & " gefunden"
For InI = 1 To .FoundFiles.Count
Application.StatusBar = "Datei: " & InI & " von " & TotFiles
StDateiname = Mid(.FoundFiles(InI), InStrRev(.FoundFiles(InI), "\") + 1)
ActiveSheet.Hyperlinks.Add Anchor:=Cells(InI, 1), _
Address:=.FoundFiles(InI), TextToDisplay:=StDateiname
Cells(InI, 2) = FileLen(.FoundFiles(InI))
Cells(InI, 3) = FileDateTime(.FoundFiles(InI))
Next InI
End If
End With
Application.StatusBar = OldStatus
Application.ScreenUpdating = True
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
sn arat alakan&#305;za te&#351;ekk&#252;r ederim yaln&#305;z kulland&#305;&#287;&#305;m excel versiyonunun 2007 olmas&#305; nedeni ile i&#351;ime yaram&#305;yor.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
De&#287;erli Hocalar&#305;m sorunum devam ediyor,
Ancak 6. mesajda yer alan kodlarda bir klas&#246;r se&#231;in uygulams&#305;nda masa&#252;s&#252;t&#252; se&#231;ildi&#287;inde hata almadan i&#351;leme devam edebilmenin y&#246;ntemini buldum m&#252;sadenizle pyal&#351;mak istiyorum,

Kod:
Sub Start()
Dim klasor As Object, klsrMsUstu$
 
Set klasor = CreateObject("Shell.Application").BrowseForFolder(0, "L&#252;tfen bir klasor se&#231;in !", 1)
klsrMsUstu = CreateObject("WScript.Shell").SpecialFolders("Desktop")
    If klasor = "Masa&#252;st&#252;" Or klasor = "Desktop" Then
        Liste (klsrMsUstu)
        AltListe (klsrMsUstu)
    ElseIf klasor <> "Masa&#252;st&#252;" Then
        Liste (klasor.Items.Item.Path)
        AltListe (klasor.Items.Item.Path)
    Else
        Exit Sub
    End If
Set klasor = Nothing
End Sub
Start prosod&#252;r&#252;n&#252; de&#287;i&#351;tirmeniz yeterlidir.
 
Üst