Skip to main content

AccessTr.neT


Klasör, dosya

Klasör, dosya

Çözüldü #1
Selamlar,

Klasör, dosya tarama konusunda uzman olan
arkadaşlarımdan bir ricam var. Aslında konuyu sanırım
birisi eklemişti ama ulaşamıyorum

1. Belirtilen sürücü ve klasördeki tüm dosya isimlerini kritere göre taramak
2. Bulunan dosyaların isimlerini ( uzantı hariç ) bir tabloya eklemek

Örnek :
C:\resim\ .... altındaki tüm *.JPG leri taramak
Bulunan dosyaları resim1, resim2, resim3 gibi RESIMLER tablosuna
eklemek istiyorum

Yardımlarınız için teşekkürler
Kolay gelsin
okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #2
Öncelikle aşağıdaki konuyu inceleyebilirsiniz.

Dosya Arama Örneği
Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla
Çözüldü #3
Seruz hocam ilgine tşk ederim.

Çok güzel bir uygulama olmuş, bunun için
ayrıca Sled e tşk edeceğim. Ama bunu
çözmek beni aşar Img-grin . Benim yapmak istediğim
kullanıcı odaklı bir çözüm değil ( dialog kutusu,
alan ve kriter seçme olmayacak, adresi ve kriteri
kod içerisinde olacak ) . Program her
açıldığında bir kod yığını arka planda çalışarak
sonucunu gösterecek.
" .... yeni stok kartı eklendi " gibi.
Çünkü uygulamayı kullanan kişi stok kartı açıp
"resim" klasöründen resim bağlıyordu. Neden
tersi de olmasın gibi bir fikir ile geldi. Benim de
hoşuma gitti. Yani resim klasörüne yeni atılan
resimlerin adları baz alınarak otomatik stok
kartı açma fikrini beğendim. Bana bu doğrultuda
yardımcı olursanız sevinirim

Kolay gelsin
okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 01/09/2009, 14:23, Düzenleyen: okileturc.
Cevapla
Çözüldü #4
Forum adminlerinden süper bir program adında bir çalışma atmıştık bi zamanlar. Onun içinde belirli bir klasördeki ( yanılmıyorsam c:\windows'tu) tüm dosyaları tarayan kodu atmıştım. Program esas itibariyle şaka programıdır. Ona göre dikkatli olarak shift ile açın.

Orası da yardımcı olamıyorsa ben örnek kodu atarım
Bana işe yarayan bir müdür göster,sana dünyayı yerinden oynatayım.
                                                                                        Descartes


Cevapla
Çözüldü #5
Tşk ederim, inceledim
Ancak benim istediğim sadece sıralamak
değil ayni zamanda bir tabloya yazdırmak.
Becerebileceğim bir konu olmadığı için mümkünse
kod olrak yardımcı olmanızı rica ediyorum
Kolay gelsin
okileturc, 18-03-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
Çözüldü #6
Arşivimde bulunan Excel'de kullandığım alttaki prosedürü uyarlayabilirsiniz sanırım.
Çalışma Microsoft Scripting Runtime referansını gerektirir.
İsteğe göre uzantı belirtebilirsiniz, örnekte "xls" belirtmiştim.
Eğer belirtmezseniz, ayrım yapmadan listeler.

Kod:
Dim Yol As String
Dim Listelendi As Boolean
Dim FSO As FileSystemObject
Dim Dizin As Folder, AltKlasor As Folder, Dosya As File
Dim Say As Integer, Uzanti As String, Dosya1 As String

Sub Listele()
    Yol = "F:\PC\XLS"
    If Right(Yol, 1) <> "\" Then Yol = Yol & "\"
    Dosya_Listele Yol, "xls"
    If Listelendi Then
        MsgBox "Dosyalar listelendi.", vbInformation, "Sonuç"
    Else: MsgBox "Dosyalar listelenmedi." & vbCrLf & "Belirtilen klasör mevcut değil.", vbInformation, "Sonuç"
    End If
End Sub

Sub Dosya_Listele(Klasor As String, Optional Kriter As String)
    'Microsoft Scripting Runtime gerektirir
    If Len(Dir(Yol)) > 0 Then
        Set FSO = New FileSystemObject
        Set Dizin = FSO.GetFolder(Klasor)
            
        For Each Dosya In Dizin.Files
            If Kriter = "" Then
                Say = WorksheetFunction.CountA(Sheets(1).Range("A:A")) + 1
                Range("A" & Say) = Dosya
            Else
            Uzanti = Right(Dosya, 3)
            Dosya1 = Dir(Dosya)
            If InStr(1, Dosya1, Kriter, vbTextCompare) > 0 Then
                Say = WorksheetFunction.CountA(Sheets(1).Range("A:A")) + 1
                Range("A" & Say) = Dosya1
            End If
            End If
        Next
        
        For Each AltKlasor In Dizin.SubFolders
            Dosya_Listele AltKlasor.Path, Kriter
        Next AltKlasor
        Listelendi = True
        Set FSO = Nothing
        Set Dizin = Nothing
    Else:
        Listelendi = False
    End If
End Sub

Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task