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...
 

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
İ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.

.
 
Katılım
14 Şubat 2008
Mesajlar
132
Excel Vers. ve Dili
2003 tr
Haluk bey,
yazdığınız yöntemi denedim ama ekte sunduğunuz zip'li dosyayı açarken hata veriyor.
tekrar kontrol edebilir misiniz?
 

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
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...!"
.
 
Katılım
14 Şubat 2008
Mesajlar
132
Excel Vers. ve Dili
2003 tr
&#351;imdi oldu!!!!

&#231;ok te&#351;ekk&#252;r ederim.
 

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
Sevindim ... :mrgreen:

.
 
Katılım
22 Mart 2005
Mesajlar
847
Excel Vers. ve Dili
Excel-2003 TR.
Altın Üyelik Bitiş Tarihi
29-06-2023
Sayın Haluk;

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

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
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
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,354
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Sıralama için "Recordset" kullanmak... Güzel fikir Haluk bey. ;)
 
Üst