Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Beyin Fırtınası
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Beyin Fırtınası Bu başlıkta, ilginç olduğunu düşündüğünüz sorularınızı, bir problem şeklinde sorabilir, alternatif olduğunu düşündüğünüz çözümlerinizi paylaşabilirsiniz. (Bu başlıkta yeni konu açılması onaya bağlıdır.)
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 10-06-2011, 11:47   #1
leumruk
Uzman
 
leumruk kullanıcısının avatarı
 
Giriş: 15/04/2007
Şehir: Mustafa ALTUN ANKARA
Mesaj: 3,163
Excel Vers. ve Dili:
Office 2010 & 2013 tr
Varsayılan "Alt Klasörleri" ve "Alt Klasörlerdeki Tüm Dosyaları" Listeleme

Merhaba,
Excel 2003'te bulunan Filesearch ile alt klasörleri ve içlerinde bulunan dosyaları rahatlıkla listeleyebiliyorduk. Ancak 2007 ve 2010 sürümlerinde "Filesearch" kodunun çalışmamasından dolayı artık bu kod kullanışlı olma özelliğini yitirdi.

Bu nedenle Alt klasörleri ve alt klasörler içinde bulunan dosyaları listelemeye yarayan bir kod hazırladım. Ekteki Rarda bulunan klasörde örnek olması için alt klasörler ve içlerine rasgele dosyalar oluşturdum. Klasörü rardan çıkarıp deneme yapabilirsiniz. Umarım faydalı olur.

NOT: Kodlar alt klasörlerin içlerindeki tüm alt klasörleri ve bunların içinde bulunan tüm dosyaları listeler.

Sizinde konu hakkında alternatifleriniz varsa bu başlığa ekleyebilirsiniz.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub Dosya_Listele() 'Tüm alt klasörlerdeki dosyaları listeler
Set ds = CreateObject("Scripting.FileSystemObject")
yol = ThisWorkbook.Path
Columns(1).Clear
Application.ScreenUpdating = False
Do
Tekrar:
If ds.GetFolder(yol).subfolders.Count > 0 Then
    For Each kls In ds.GetFolder(yol).subfolders
        klslst = klslst & "{" & kls
    Next
End If
x = x + 1
deg = Split(klslst, "{")
yol = deg(x)
dosya = Dir$(yol & "\*.*")
Do While dosya <> ""
Say = Say + 1
Cells(Say, 1) = dosya 'dosya yerine yol & "\" & dosya yazarsanız dosyalar yollarıyla birlikte listelenir.
dosya = Dir$()
Loop
If x = 1 And ds.GetFolder(yol).subfolders.Count > 0 Then GoTo Tekrar
Loop While UBound(deg) <> x
'Kodlayan: l e u m r u k - mustafa altun
End Sub
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub Klasör_Listele() 'Tüm alt klasörleri listeler
Set ds = CreateObject("Scripting.FileSystemObject")
yol = ThisWorkbook.Path
Columns(1).Clear
Application.ScreenUpdating = False
Do
Tekrar:
If ds.GetFolder(yol).subfolders.Count > 0 Then
    For Each kls In ds.GetFolder(yol).subfolders
        klslst = klslst & "{" & kls
    Next
End If
x = x + 1
deg = Split(klslst, "{")
yol = deg(x)
Cells(x, 1) = deg(x)
If x = 1 And ds.GetFolder(yol).subfolders.Count > 0 Then GoTo Tekrar
Loop While UBound(deg) <> x
'Kodlayan: l e u m r u k - mustafa altun
End Sub
Eklenmiş Dosyalar
Dosya Türü: rar Alt_Klasör_Uygulaması.rar (43.7 KB, 499 Görüntülenme)
__________________
"Seni her türlü noksandan tenzih ederiz. Senin bize öğrettiğinden başka bizim hiçbir bilgimiz yoktur. Sen herşeyi hakkıyla bilir, her işi hikmetle yaparsın." (Bakara Sûresi: 2:32.)

"Onların duaları şu sözlerle sona erer: Ezelden ebede her türlü hamd ve övgü, şükür ve minnet, Âlemlerin Rabbi olan Allah'a mahsustur." (Yunus Suresi, 10:10.)

Bu mesaj en son " 04-12-2011 " tarihinde saat 22:50 itibariyle leumruk tarafından düzenlenmiştir.... Neden: Tek klasör düzeltmesi
leumruk Çevrimdışı   Alıntı Yaparak Cevapla
Eski 15-07-2011, 12:45   #2
Darkion
 
Giriş: 01/10/2009
Şehir: Kocaeli
Mesaj: 3
Excel Vers. ve Dili:
2010-İngilizce
Varsayılan

teşekkürler elinize sağlık.

VB konusunda fazla bir bilgim olmadığı için eğer kusuruma bakmazsanız bir soru sormak istiyorum. Dosyaları hangi klasör/alt klasör içinde olduğunu gösterecek şekilde bu kodları geliştirmek mümkün müdür?

örn.:
C:\deneme\örnek1.xls
C:\deneme\deneme2\örnek2.xls
C:\deneme\deneme2\örnek3.pdf

Saygılar
Darkion Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-07-2011, 18:33   #3
leumruk
Uzman
 
leumruk kullanıcısının avatarı
 
Giriş: 15/04/2007
Şehir: Mustafa ALTUN ANKARA
Mesaj: 3,163
Excel Vers. ve Dili:
Office 2010 & 2013 tr
Varsayılan

Merhaba,
İlgili kodda
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Cells(Say, 1) = dosya
bu satır yerine:
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Cells(Say, 1) = yol & "\" & dosya
yazarsanız istediğiniz olacaktır. İlk mesajımdaki kodlara da gerekli açıklamayı yaptım. Kodlardaki yeşil renkle belirttiğim açıklmayı uygulayabilirsiniz.
__________________
"Seni her türlü noksandan tenzih ederiz. Senin bize öğrettiğinden başka bizim hiçbir bilgimiz yoktur. Sen herşeyi hakkıyla bilir, her işi hikmetle yaparsın." (Bakara Sûresi: 2:32.)

"Onların duaları şu sözlerle sona erer: Ezelden ebede her türlü hamd ve övgü, şükür ve minnet, Âlemlerin Rabbi olan Allah'a mahsustur." (Yunus Suresi, 10:10.)
leumruk Çevrimdışı   Alıntı Yaparak Cevapla
Eski 16-07-2011, 22:22   #4
halit3
Uzman
 
halit3 kullanıcısının avatarı
 
Giriş: 18/01/2008
Mesaj: 10,483
Excel Vers. ve Dili:
2003 excel türkçe
Varsayılan

Alternatif olarak da bende bir kod ekliyorum.

Burası klasörleri (altklasör dahil) listeliyor.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub Klasör_Listele()
Columns("A:A").ClearContents
Set Klasor = CreateObject("shell.application").BrowseForFolder(0, "Kaynak Dosyaları İçeren Klasörü Seçin", 50, &H0)
If Not Klasor Is Nothing Then
Kaynak = Klasor.SELF.Path
If InStr(1, Kaynak, "{") > 0 Then GoTo Atla
Liste1 (Kaynak)
Set Klasor = Nothing
MsgBox "işlem tamam"
Else
Atla:
MsgBox "Lütfen Kaynak Klasör Seçimini Yapınız !", vbInformation, "DİKKAT"
End If
End Sub
Private Sub Liste1(Yol As String)
Dim fL As Object, f As Object, Dosya As String, j As Long
Set fL = CreateObject("Scripting.FileSystemObject").GetFolder(Yol).subfolders
j = WorksheetFunction.CountA(Worksheets(ActiveSheet.Name).Range("A1:A" & Rows.Count)) + 1
Cells(j, 1) = Yol
On Error GoTo sonraki
For Each f In fL
On Error Resume Next
Liste1 (f.Path)
sonraki:
Next
Set fL = Nothing
End Sub
Burası dosyaları (altklasör dahil) listeliyor

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub Dosya_Listele()
Columns("A:A").ClearContents
Set Klasor = CreateObject("shell.application").BrowseForFolder(0, "Kaynak Dosyaları İçeren Klasörü Seçin", 50, &H0)
If Not Klasor Is Nothing Then
Kaynak = Klasor.SELF.Path
If InStr(1, Kaynak, "{") > 0 Then GoTo Atla
Liste2 (Kaynak)
Set Klasor = Nothing
MsgBox "işlem tamam"
Else
Atla:
MsgBox "Lütfen Kaynak Klasör Seçimini Yapınız !", vbInformation, "DİKKAT"
End If
End Sub
Private Sub Liste2(Yol As String)
Dim fL As Object, f As Object, Dosya As String, j As Long
Set fL = CreateObject("Scripting.FileSystemObject").GetFolder(Yol).subfolders
Dosya = Dir(Yol & "\*.*")
While Dosya <> ""
DoEvents
j = WorksheetFunction.CountA(Worksheets(ActiveSheet.Name).Range("A1:A" & Rows.Count)) + 1
ekle = ""
If Right(Yol, 1) <> "\" Then ekle = "\"
Cells(j, 1) = Yol & ekle & Dosya
Dosya = Dir
Wend
On Error GoTo sonraki
For Each f In fL
On Error Resume Next
Liste2 (f.Path)
sonraki:
Next
Set fL = Nothing
End Sub
__________________





Forum Kuralları
halit3 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 20-07-2011, 11:42   #5
Darkion
 
Giriş: 01/10/2009
Şehir: Kocaeli
Mesaj: 3
Excel Vers. ve Dili:
2010-İngilizce
Varsayılan

İlginiz ve cevaplarınız için teşekkür ederim.
Darkion Çevrimdışı   Alıntı Yaparak Cevapla
Eski 23-08-2011, 14:58   #6
ugursirin
 
Giriş: 30/03/2007
Mesaj: 26
Excel Vers. ve Dili:
2003 2007
Question Sunucu uygulamaları. PHP ve ASP

Peki ben bu konu hakkında birşey sormak istiyorum. Sunucu üzerinde çalışan bir uygulama var mı?
ugursirin Çevrimdışı   Alıntı Yaparak Cevapla
Eski 27-08-2011, 16:48   #7
keremd
 
Giriş: 19/07/2011
Mesaj: 11
Excel Vers. ve Dili:
2007 eng
Varsayılan

Peki sadece alt klasörlerdeki dosyaları nasıl listeleriz?

teşekkürler
keremd Çevrimdışı   Alıntı Yaparak Cevapla
Eski 27-08-2011, 18:11   #8
halit3
Uzman
 
halit3 kullanıcısının avatarı
 
Giriş: 18/01/2008
Mesaj: 10,483
Excel Vers. ve Dili:
2003 excel türkçe
Varsayılan

Alıntı:
keremd tarafından gönderildi Mesajı Görüntüle
Peki sadece alt klasörlerdeki dosyaları nasıl listeleriz?

teşekkürler
Alt klasördeki dosyalar

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub Dosya_Listele()
Columns("A:A").ClearContents
Set Klasor = CreateObject("shell.application").BrowseForFolder(0, "Kaynak Dosyaları İçeren Klasörü Seçin", 50, &H0)
If Not Klasor Is Nothing Then
Kaynak = Klasor.SELF.Path
If InStr(1, Kaynak, "{") > 0 Then GoTo Atla
Liste2 (Kaynak)
Set Klasor = Nothing
MsgBox "işlem tamam"
Else
Atla:
MsgBox "Lütfen Kaynak Klasör Seçimini Yapınız !", vbInformation, "DİKKAT"
End If
End Sub
Private Sub Liste2(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 = WorksheetFunction.CountA(Worksheets(ActiveSheet.Name).Range("A1:A" & Rows.Count)) + 1
ekle = ""
If Right(Yol, 1) <> "\" Then ekle = "\"
Cells(j, 1) = Yol & ekle & Dosya
Dosya = Dir
Wend
Liste2 (f.Path)
sonraki:
Next
Set fL = Nothing
End Sub
__________________





Forum Kuralları
halit3 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 27-08-2011, 18:16   #9
halit3
Uzman
 
halit3 kullanıcısının avatarı
 
Giriş: 18/01/2008
Mesaj: 10,483
Excel Vers. ve Dili:
2003 excel türkçe
Varsayılan

Sadece klasör

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Sub Dosya_Listele()
Columns("A:A").ClearContents
Set Klasor = CreateObject("shell.application").BrowseForFolder(0, "Kaynak Dosyaları İçeren Klasörü Seçin", 50, &H0)
If Not Klasor Is Nothing Then
Yol = Klasor.SELF.Path
If InStr(1, Yol, "{") > 0 Then GoTo Atla
Dim fL As Object, Dosya As String, j As Long
Set fL = CreateObject("Scripting.FileSystemObject").GetFolder(Yol).SubFolders
Dosya = Dir(Yol & "\*.*")
While Dosya <> ""
DoEvents
j = WorksheetFunction.CountA(Worksheets(ActiveSheet.Name).Range("A1:A" & Rows.Count)) + 1
ekle = ""
If Right(Yol, 1) <> "\" Then ekle = "\"
Cells(j, 1) = Yol & ekle & Dosya
Dosya = Dir
Wend
Set Klasor = Nothing
MsgBox "işlem tamam"
Else
Atla:
MsgBox "Lütfen Kaynak Klasör Seçimini Yapınız !", vbInformation, "DİKKAT"
End If
End Sub
__________________





Forum Kuralları
halit3 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 24-09-2011, 14:21   #10
tuncay_p
 
Giriş: 21/05/2006
Mesaj: 12
Varsayılan

Emeğinize sağlık çok güzel bir çalışma olmuş
tuncay_p Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 08:09


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden