• DİKKAT

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

Toplu olarak dosya isimlerini değiştirme

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,181
Excel Vers. ve Dili
Ofis 2019 Türkçe
D:\deneme adlı klasör içerisinde bulunan resim dosyalarının adları A sutununda yazılı, B sutununda yazılı bulunan yeni isimlerle değiştirmek istiyorum. Bunu makro ile nasıl yapabiliriz.
 
Sn. Zeki Gürsoy hocam, dediğiniz gibi formda arama yaptıp ve verdiğiniz linki inceledim, ancak burada a sutununda verilen isimler ile klasör içindeki isimler değişiyor, ancak ben belirlediğim isimlerin hangi isimlerle değiştirileceğini ben belirlemek istiyorum, yani a sutununda yazılı isimler b sutununda yazılı isimlerle değişmesini istemiştim. İlgilenirseniz sevinirim. Saygılar.
 
Aşağıdaki kodlar A sütunundaki dosya isimlerini B sütunundaki dosya ismleri ile değiştiri.
Dosyaların D:\Deneme klasörü içinde olduğu varsayılmıştır.
Eğer klasör değişkse ilgili satırda değişkliği yapınız.:cool:
Kod:
Sub isim_degistir()
Dim i As Long, say As Long
If MsgBox("D:\Deneme klasörü içersindeki dosyaların isimleirini değiştirmek istiyormusunuz..!!??", _
vbYesNo + vbQuestion, Application.UserName) = vbno Then Exit Sub
For i = 1 To Cells(65536, "A").End(xlUp).Row
    If Dir("D:\Deneme\" & Cells(i, "A").Value) <> "" Then
        Name ("D:\Deneme\" & Cells(i, "A").Value) As ("D:\Deneme\" & Cells(i, "B").Value)
        say = say + 1
    End If
Next i
MsgBox say & " dosya isimi değiştirildi..", vbOKOnly + vbInformation, Application.UserName
End Sub
 
Sn.Evren Gizlen Kodlar &#231;al&#305;&#351;t&#305;r&#305;ld&#305;&#287;&#305;nda ;
Name ("D:\Deneme\" & Cells(i, "A").Value) As ("D:\Deneme\" & Cells(i, "B").Value)
sat&#305;r&#305;nda Run Time Error '75' &#351;eklinde hata iletisi al&#305;yorum, rica etsem dosyaya uyarlayabilirmisiniz
 
Sn.Evren Gizlen Kodlar çalıştırıldığında ;
Name ("D:\Deneme\" & Cells(i, "A").Value) As ("D:\Deneme\" & Cells(i, "B").Value)
satırında Run Time Error '75' şeklinde hata iletisi alıyorum, rica etsem dosyaya uyarlayabilirmisiniz
Kodlar bende gayet güzel çalışıyor.
Sizin dosya adlarında hata vardır.
b sütununa dosya adı ile birlikte uzantısınıda yazmanız gerekiyor.
Örnek tahsin.jpg
Birde dosya adlarında . - , vb, yasak karakterler kullanmışsanızda hata verir.:cool:
 
Hocam örnek dosyamı ekte gönderiyorum

Ne yaptıysam olmadı, o dosya değiştirildi diyor. Örnek dosyamı ekte gönderiyorum, Bakarsanız çok sevinirim. Şimdiden çok teşekkür ederim
 
SN. Evren Gizlen hocam, tamam gerek kalmad&#305;, hem a hem de B sutunundaki dosya isimlerini uzant&#305;lar&#305; ile birlikte yaz&#305;lmas&#305; gerekiyormu&#351;. Bu &#351;ekilde yapt&#305;&#287;&#305;mda oldu, eline koluna sa&#287;l&#305;k &#231;ok te&#351;ekk&#252;r ederim. Sayg&#305;lar
 
Ne yaptıysam olmadı, o dosya değiştirildi diyor. Örnek dosyamı ekte gönderiyorum, Bakarsanız çok sevinirim. Şimdiden çok teşekkür ederim

Dediğim gibi dosya uzantıları meselesi.
Şimdi kodları düzenledim.Dosyaların uzantısını yazmadan sadece dosya adlarını yazarak kodlar çalışıyor.
Ama sadece jpg uzantılı dosyalar.
Ekli dosyayı inceleyiniz.:cool:
Kod:
Sub isim_degistir()
Dim i As Long, say As Long
If MsgBox("D:\Deneme klasörü içersindeki dosyaların isimleirini değiştirmek istiyormusunuz..!!??", _
vbYesNo + vbQuestion, Application.UserName) = vbno Then Exit Sub
For i = 2 To Cells(65536, "A").End(xlUp).Row
    If Dir("D:\Deneme\" & Cells(i, "A").Value & ".jpg") <> "" Then
        Name ("D:\Deneme\" & Cells(i, "A").Value & ".jpg") As ("D:\Deneme\" & Cells(i, "B").Value & ".jpg")
        say = say + 1
    End If
Next i
MsgBox say & " dosya isimi değiştirildi..", vbOKOnly + vbInformation, Application.UserName
End Sub
 
Sn. Evren Gizlen hocam, ger&#231;ekten m&#252;kemmel oldu, elinize sa&#287;l&#305;k, umar&#305;m ba&#351;kalar&#305;n&#305;n i&#351;ine de yarar, bence &#231;ok m&#252;kemmel bir kod oldu.

Bu kodlarla da dosya i&#231;erisindeki resim isimlerini listeliyebiliyoruz.
Sub Dosya_&#304;simleri()
Dim ds, dc, f, s
Set ds = CreateObject("Scripting.FileSystemObject")
Set f = ds.GetFolder("D:\Deneme")
Set dc = f.Files
For Each dosya In dc
c = c + 1
Cells(c, 1) = dosya.Name
Next
End Sub

&#199;ok te&#351;ekk&#252;r ediyorum, sayg&#305;lar sunuyorum. Sa&#287;olun
 
Sn. Evren Gizlen hocam, gerçekten mükemmel oldu, elinize sağlık, umarım başkalarının işine de yarar, bence çok mükemmel bir kod oldu.

Bu kodlarla da dosya içerisindeki resim isimlerini listeliyebiliyoruz.
Sub Dosya_İsimleri()
Dim ds, dc, f, s
Set ds = CreateObject("Scripting.FileSystemObject")
Set f = ds.GetFolder("D:\Deneme")
Set dc = f.Files
For Each dosya In dc
c = c + 1
Cells(c, 1) = dosya.Name
Next
End Sub

Çok teşekkür ediyorum, saygılar sunuyorum. Sağolun
Rica ederim.
Saygılar benden.
iyi çalışmalar.:cool:
 
saygı değer hocalarım buradaki kodlar çok güzel ama bu kodlarda ufak bir değişiklik yapma şansımız yok mudur? A ile B arasında değişiklik oluyor bunu A(dosya isimleri), B(değişecek isimler), C(değişecek isimler), D(değişecek isimler) sutunları arasında olsa benim için daha faydalı olacaktır. YARDIMLARINIZI BEKLİYORUM.
 
Hocam merhaba, Kodunuzdan bende faydalandım.. Teşekkür ederim..

Aşağıdaki kodlar A sütunundaki dosya isimlerini B sütunundaki dosya ismleri ile değiştiri.
Dosyaların D:\Deneme klasörü içinde olduğu varsayılmıştır.
Eğer klasör değişkse ilgili satırda değişkliği yapınız.:cool:
Kod:
Sub isim_degistir()
Dim i As Long, say As Long
If MsgBox("D:\Deneme klasörü içersindeki dosyaların isimleirini değiştirmek istiyormusunuz..!!??", _
vbYesNo + vbQuestion, Application.UserName) = vnno Then Exit Sub
For i = 1 To Cells(65536, "A").End(xlUp).Row
    If Dir("D:\Deneme\" & Cells(i, "A").Value) <> "" Then
        Name ("D:\Deneme\" & Cells(i, "A").Value) As ("D:\Deneme\" & Cells(i, "B").Value)
        say = say + 1
    End If
Next i
MsgBox say & " dosya isimi değiştirildi..", vbOKOnly + vbInformation, Application.UserName
End Sub
 
Merhaba,

Aşağıdaki kod için teşekkür ederim. Benimde işime yaradı...

Fakat şöyle bir şey yapmak istiyorum. A sütunundaki resim değişiyor. Ben buradaki resmin ismini de B sütununda yazan isme göre değiştirmek istiyorum.

Örneğin A sütununda resmin ismi mahmut.jpg B sütununda da Tc nosu(546879) var. İşlem bittiğinde A sütunundaki resmin adı 546879.jpg olabilir mi?

Teşekkürler...




Dediğim gibi dosya uzantıları meselesi.
Şimdi kodları düzenledim.Dosyaların uzantısını yazmadan sadece dosya adlarını yazarak kodlar çalışıyor.
Ama sadece jpg uzantılı dosyalar.
Ekli dosyayı inceleyiniz.:cool:
Kod:
Sub isim_degistir()
Dim i As Long, say As Long
If MsgBox("D:\Deneme klasörü içersindeki dosyaların isimleirini değiştirmek istiyormusunuz..!!??", _
vbYesNo + vbQuestion, Application.UserName) = vbno Then Exit Sub
For i = 2 To Cells(65536, "A").End(xlUp).Row
    If Dir("D:\Deneme\" & Cells(i, "A").Value & ".jpg") <> "" Then
        Name ("D:\Deneme\" & Cells(i, "A").Value & ".jpg") As ("D:\Deneme\" & Cells(i, "B").Value & ".jpg")
        say = say + 1
    End If
Next i
MsgBox say & " dosya isimi değiştirildi..", vbOKOnly + vbInformation, Application.UserName
End Sub
 
Merhaba,

Aşağıdaki kod için teşekkür ederim. Benimde işime yaradı...

Fakat şöyle bir şey yapmak istiyorum. A sütunundaki resim değişiyor. Ben buradaki resmin ismini de B sütununda yazan isme göre değiştirmek istiyorum.

Örneğin A sütununda resmin ismi mahmut.jpg B sütununda da Tc nosu(546879) var. İşlem bittiğinde A sütunundaki resmin adı 546879.jpg olabilir mi?

Teşekkürler...

Güncelllll
 
herkese selamlar, kodu kullanamıyorum. yardımcı olabilir misiniz.
dosyalar "C:\Documents and Settings\ceyhun.uysal\Desktop\isimler" klasörünün içinde.
Klasörün içinde hem fotoğraf hem de excel dosyası var.
 
Kod kullanılabilmiştir. Sonuna \ işaretini koymadığım için hata veriyormuş. Kodu yazan, konuda emeği geçen herkese teşekkürler.
 
Merhaba Arkadaşlar

Makroyu da ekledim dosya lokasyonu nu da ayarladım fakat olmadı ne yaptı isem yapamadım bu konuda yardımcı olurmusunuz

http://s3.dosya.tc/server8/cbagjx/resim_adi_degistirme.xls.html
Merhaba
Örnek dosyanızdaki; hücrelerde zaten ".jpg" formatı yazılı olduğu için, kodlardaki fazla olmuş
Aşağıdaki gibi deneyin;
Kırmızı bölümü asıl dosyanızda başlık satırı varsa 2 yapınız
Kod:
Sub isim_degistir()
Dim i As Long, say As Long
If MsgBox("D:\Deneme klasörü içersindeki dosyaların isimleirini değiştirmek istiyormusunuz..!!??", _
vbYesNo + vbQuestion, Application.UserName) = vbNo Then Exit Sub
For i = [COLOR="Red"]1[/COLOR] To Cells(65536, "A").End(xlUp).Row
    If Dir("D:\Deneme\" & Cells(i, "A").Value) <> "" Then
        Name "D:\Deneme\" & Cells(i, "A").Value As "D:\Deneme\" & Cells(i, "B").Value
        say = say + 1
    End If
Next i
MsgBox say & " dosya isimi değiştirildi..", vbOKOnly + vbInformation, Application.UserName
End Sub
 
Geri
Üst