- Katılım
- 2 Mart 2005
- Mesajlar
- 2,960
- Excel Vers. ve Dili
-
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Sn Zeki ve Sn Haluk hopcamın kodlarını birleştirerek listelenen dosyanın adı, yolu, boyutu, değiştirilme tatihi gibi özellikleirni aynı anda listelemek istedim ve bunun için AnaListe(213 nolu satır) ve Alt Liste(313 nolu satır) prosodürleriyle kırmızı satırdaki yönlendirmeleri yaptım.
Ancak dosya özellikleri prosodürürünün 403 nolu satırındaki hatanın önüne geçemedim. Ne yapmalıyım?
Ancak dosya özellikleri prosodürürünün 403 nolu satırındaki hatanın önüne geçemedim. Ne yapmalıyım?
Kod:
Public ui As Long
Sub SubHsr_KlasorIceriginiListele()
101 Dim klsrSec, klsrAra, klsrLst As Object
102 Dim klsrMsUstu, dosya, yol As String
103 Set klsrSec = CreateObject("Shell.Application").BrowseForFolder(0, "Lütfen bir klasor seçin !", 1)
104 klsrMsUstu = CreateObject("WScript.Shell").SpecialFolders("Desktop")
105 If klsrSec = "Masaüstü" Or klasor = "Desktop" Then
106 yol = klsrMsUstu
107 AnaListe (yol)
108 AltListe (yol)
109 ElseIf klsrSec <> "Masaüstü" Then
110 yol = klsrSec.Items.Item.Path
111 AnaListe (yol)
112 AltListe (yol)
113 Else
114 Exit Sub
115 End If
116 Set klsrSec = Nothing
End Sub
Private Sub AnaListe(yol As String)
201 Dim dosya As String
202 Cells.ClearContents
203 Range("A1") = "Dosya Yolu": Range("B1") = "Dosya Adı": Range("C1") = "Dosya Tipi"
204 Range("D1") = "Dosya Boyutu": Range("E1") = "Oluşturulma Tarihi": Range("F1") = "Son Erişim Tarihi"
205 Range("G1") = "Son Düzenleme Tarihi": Range("H1") = "Son Düzenleme Zamanı"
206 dosya = Dir(yol & "\*.*")
207 ui = 1
208 While dosya <> ""
209 DoEvents
210 ui = ui + 1
211 Cells(ui, 1) = yol
212 Cells(ui, 2) = dosya
[COLOR=red]213 Call DosyaOzellikleri(yol & dosya)[/COLOR]
214 dosya = Dir
215 Wend
End Sub
Private Sub AltListe(yol As String)
301 Dim klsrAra, klsrLst As Object, dosya, dsyTYl As String
302 Set klsrLst = CreateObject("Scripting.FileSystemObject").GetFolder(yol).SubFolders
303 On Error GoTo sonraki
304 For Each klsrAra In klsrLst
305 dosya = Dir(klsrAra.Path & "\*.*")
306 While dosya <> ""
307 DoEvents
308 ui = [a65000].End(3).Row + 1
309 dsyTYl = yol & "\" & dosya
310 Cells(ui, 1) = yol & "\"
311 Cells(ui, 2) = dosya
312 dosya = Dir
[COLOR=red]313 Call DosyaOzellikleri(yol & "\" & dosya)[/COLOR]
314 Wend
315 AltListe (klsrAra.Path)
316 sonraki:
317 Next
318 Set klsrLst = Nothing
End Sub
Private Sub DosyaOzellikleri(DsyBak As String)
'"D:\TestFolder\TestEmail.xls"
401 Dim fso, myFile As Object
402 Set fso = CreateObject("Scripting.FileSystemObject")
[COLOR=red]403 Set myFile = fso.GetFile(DsyBak)[/COLOR]
404 With myFile
405 Range("C" & ui) = .Type
406 Range("D" & ui) = .Size / 1024 & " Kb"
407 Range("E" & ui) = Format(.DateCreated, "dd.mm.yyyy")
408 Range("F" & ui) = Format(.DateLastAccessed, "dd.mm.yyyy")
409 Range("G" & ui) = Format(.DateLastModified, "dd.mm.yyyy")
410 Range("H" & ui) = Format(.DateLastModified, "hh:mm:ss")
411 End With
412 Set fso = Nothing
413 Set myFile2 = Nothing
End Sub