• DİKKAT

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

ad değiştirme

Katılım
14 Şubat 2008
Mesajlar
132
Excel Vers. ve Dili
2003 tr
arkadaşlar çok ilginç olduğunu düşündüğüm bir problemim var.
içinde binlerce excel ve word dosyayı olan bir klasörüm var. ama isimleri çok uzun ben bunları sıraya dizmek istiyorum. 1, 2, 3 diye bunları teker teker yapmam günlerimi alacak. bunu otomatik olarak yapacak bir program ya da herhangi birşey var mı ? orjinal klasörümü ekleyemiyorum (212 MB). Ama örnek bir klasör ekledim.
herhangi bir fikri olan arkadaşlar yardımcı olabilir mi?
yardımcı olacak arkadaşlara şimdiden çok teşekkür ederim...
 
İlk önce bilgisayarınızda C:\TestKlasoru şeklinde bir klasör oluşturun.

Sonra, sözkonusu bütün Excel dosyalarınızı bu klasörün içine yerleştirin.

Daha sonra, ekteki DosyaSiralama.vbs dosyasını (zip'li olarak sıkıştırılmış) bilgisayarda herhangibir yere, örneğin masaüstüne yerleştirip, çift tıklayarak çalıştırın.

Sözkonusu C:\TestKlasoru içindeki bütün dosyalar, orjinal oluşturulma zamanına göre 1 den başlayarak yeniden adlandırılmış şekliyle sıraya sokulacaktır.

.
 
Haluk bey,
yazdığınız yöntemi denedim ama ekte sunduğunuz zip'li dosyayı açarken hata veriyor.
tekrar kontrol edebilir misiniz?
 
Sizden önce 5 kişi indirmiş ama tabii genelde olduğu gibi herhangibir yorum yapmamışlar.....

Her neyse, şöyle yapalım....

Notepad uygulamasını başlatın, ve aşağıdakileri oraya (yeni metin belgesine) yapıştırdıktan sonra oluşan dosyayı DosyaSiralama.vbs olarak kaydedin.

Daha sonra bu dosyayı, çift tıklayarak çalıştırın.

Yapıştıracağınız kodlar;

Kod:
Set DosyaListesi = CreateObject("ADOR.Recordset")
DosyaListesi.Fields.Append "DosyaAdi", 200, 255
DosyaListesi.Fields.Append "DosyaTarihi", 200, 255
DosyaListesi.Open

Set DosyaSistemi = CreateObject("Scripting.FileSystemObject")
Set Klasor = DosyaSistemi.GetFolder("C:\TestKlasoru")

Set Dosyalar = Klasor.Files

For Each Dosya in Dosyalar
    DosyaListesi.AddNew
    DosyaListesi("DosyaAdi") = Dosya.Path
    DosyaListesi("DosyaTarihi") = Dosya.DateCreated
    DosyaListesi.Update
Next

DosyaListesi.Sort = "DosyaTarihi"

DosyaListesi.MoveFirst
i = 1

Do Until DosyaListesi.EOF
    If i < 10 Then
        x = CStr("000" & i)
    ElseIf i < 100 Then
        x = CStr("00" & i)
    ElseIf i < 1000 Then
        x = CStr("0" & i)
    Else
        x = i
    End If

    YeniDosyaAdi = "C:\TestKlasoru\" & x & ".xls"

    DosyaSistemi.MoveFile DosyaListesi.Fields.Item("DosyaAdi"), YeniDosyaAdi

    i = i + 1
    DosyaListesi.MoveNext
Loop

Msgbox "&#304;&#351;lem tamamland&#305;....",,"Kullanicinin dikkatine...!"

.
 
Sevindim ... :mrgreen:

.
 
Sayın Haluk;

Teşekkürler, sayenizde birşey daha öğrendik. Peki bu işlemi .vbs değilde .xls olarak yapılamaz mı?
 
Levent bey, olur tabii...

Ben de&#287;i&#351;iklik olsun istemi&#351;tim.


Kod:
Sub Test()
 
'Yukar&#305;daki kodlar buraya yap&#305;&#351;t&#305;r&#305;lacak
 
End Sub
 
Sıralama için "Recordset" kullanmak... Güzel fikir Haluk bey. ;)
 
Geri
Üst