Dosya ismine ek yaparak kaydetme

Katılım
28 Nisan 2005
Mesajlar
252
Excel Vers. ve Dili
Excel 2010 Türkçe
merhaba arkadaşlar
Hazırladığım bir excel belgesini makro yardımı ile istediğim bir klasör içine isim vererek kaydedebiliyorum. Bundan sonra o belgeyi çağırıp üzerinde değişiklik yaptıktan sonra kaydettiğimde otomatik olarak dosya ismine bir ek yaparak(bu sayı olabilir) kayıtlı olduğu klasörün içine kaydetmesini istiyorum. yardımcı olursanız sevinirim. :? :kafa:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kaydetmek istediğiniz ek bilgisi nereden alınacaktır. Ayrıcada mevcut dosyanın sadece adınımı değiştirmek istiyorsunuz, yoksa farklımı kaydetmek?

Not:Sorunuzu açıklayan başlıklar kullanınmaya özen gösterelim lütfen. Sorunuzun başlığı tarafımdan değiştirilmiştir.
 
Katılım
28 Nisan 2005
Mesajlar
252
Excel Vers. ve Dili
Excel 2010 Türkçe
Merhaba leventm
İlgine teşekkürler. Daha önce "12345.xls" diye kaydetmiş olduğum bir dosyayı daha sonra yapacağım bir deişiklikten sonra (örneğin dosyaya yeni bir şeyler yazdım) kaydettiğimde dosya adı "12345-1.xls" olsun. bu işlem böyle hep artarak gitsin. Yani klasörün içinde;
12345.xls
12345-1.xls
12345-2.xls
12345-3.xls
.
.
.
Kod:
ActiveWorkbook.Name
koduyla dosya adını buluyorum ama dosyayı "12345.xls" olarak buluyorum fakat buna ek yaptığım zaman dosya adı "12345.xls-1.xls" olarak kaydediyor. aradaki ".xls" uzantısını bir türlü çıkaramadım.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin.

[vb:1:469ca94cdf]Sub dosyaekle()
f = CreateObject("Scripting.FileSystemObject").GetFolder(ActiveWorkbook.Path).Files.Count
ActiveWorkbook.SaveCopyAs (ActiveWorkbook.Path & "\" & "12345" & "-" & f & ".xls")
End Sub
[/vb:1:469ca94cdf]
 
Katılım
28 Nisan 2005
Mesajlar
252
Excel Vers. ve Dili
Excel 2010 Türkçe
teşekkürler leventm
tam istediğim gibi çalışıyor. :mutlu: :mutlu:
 
Katılım
28 Nisan 2005
Mesajlar
252
Excel Vers. ve Dili
Excel 2010 Türkçe
tam istediğim gibi çalışıyor.
yalnız dosya adı değiştiğinde kodu uyguladığım zaman aşağıdaki gibi f değeri kaldığı yerden devam ediyor.
12345-1.xls
12345-2.xls
12345-3.xls

67890-4.xls
67890-5.xls
67890-6.xls
......
Ama ben dosya adı değiştiğinde "f" değerinin sıfırlanmasını istiyorum. Benim istediğim örneğin;
12345-1.xls
12345-2.xls
12345-3.xls
....
67890-1.xls
67890-2.xls
67890-3.xls
......
Yardımcı olursanız sevinirim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi deneyin.

[vb:1:c2a02508e2]Sub dosyaekle()
f = CreateObject("Scripting.FileSystemObject").GetFolder(ActiveWorkbook.Path).Files.Count
ad = WorksheetFunction.Substitute(ActiveWorkbook.Name, ".xls", "")
ActiveWorkbook.SaveCopyAs (ActiveWorkbook.Path & "\" & ad & "-" & f & ".xls")
End Sub
[/vb:1:c2a02508e2]
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Yukarıdaki kod hatalı oldu, dosya adına göre değeri sıfırlatmak çok kolay değil, bu sebeple dosya adınızı kendinizin vereceği aşağıdaki kodu deneyin.

[vb:1:a7bd041cfe]Sub dosyaekle()
ad = WorksheetFunction.Substitute(ActiveWorkbook.Name, ".xls", "")
kayit = Application.GetSaveAsFilename(ad & "-" & ".xls")
If kayit = False Then Exit Sub
ActiveWorkbook.SaveAs (kayit)
End Sub
[/vb:1:a7bd041cfe]
 
Katılım
28 Nisan 2005
Mesajlar
252
Excel Vers. ve Dili
Excel 2010 Türkçe
Merhaba leventm

evet ilk gönderdiğiniz kodu denedim
12345-1.xls
12345.-1-2.xls olarak yapıyor. İlgine çok teşekkür ederim. Diğer işler nedeniyle buna biraz aravermek zorunda kaldım.
Evet bayağı bi zormuş. Bende sorunu
.
.
.
DocName = InputBox("Enter the document SAVE name", "Document Name Box", "")
[A2] = DocName
If DocName = Empty Then
Cancel = True
Exit Sub
End If
.
.
dosya ismini sayfada A2 hücresine kopyalayarak buldum. tabiki burada ilk gönderdiğiniz koddanda yararlandım. Bittiğinde çalışmayı sizlerle paylaşacağım inşaallah
 
Katılım
28 Nisan 2005
Mesajlar
252
Excel Vers. ve Dili
Excel 2010 Türkçe
Merhaba Leventm
sayenizde çok basitte olsa 2 hafta boyunca sitemizin yardımları ile öğrendiklerimle ekteki basit çalışmayı hazırladım. Bunun dahada detayları vardı ama konuyla ilgili bölümünü attach olarak gönderiyorum. görüşlerinizi bekliyorum. Ã?zelliklede bu işlemi daha kısa kodlar ile halledebilirmiyiz.
:hey: :hey:
 
Üst