kapatınca otomatik yedek alma

Katılım
24 Mart 2011
Mesajlar
18
Excel Vers. ve Dili
türkçe
excel sayfasında kapat (X) işarteine basınca otomatik olarak başka bir yere (harici harddisk) o anki tarih ve saat olarak yedek almasını isiyorum.Bunu makrodan nasıl yapabilirim yardımcı olursanız sevinirim.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
"Cobıan buckup" proğramı var ücretsiz.
Klasörü istediğiniz yere istediğiniz saatte yedekleme alabiliyorsunuz.
Ücretsiz sürümü mevcut.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
excel sayfasında kapat (X) işarteine basınca otomatik olarak başka bir yere (harici harddisk) o anki tarih ve saat olarak yedek almasını isiyorum.Bunu makrodan nasıl yapabilirim yardımcı olursanız sevinirim.
Ekteki kodu Thisworkbook bölümüne kopyalayın. HDD'nin D:'de olduğunu varsaydım. Kendinize uyarlarsınız. Saatte ":" yasak karakter olduğu için bu karakter yerine alt çizgiyi kullandım.
Çalışma şekli:
1- D sürücüsünde "YEDEKLER" klasörü var mı yok mu kontrol ediyor. Eğer yoksa klasörü oluşturup dosyayı yedekliyor.
2- Dosyayı "YEDEKLER" klasöründe açıp inceledikten sonra kapattığınızda yedeğini almıyor. Böylece yedeğin yedeğini almasının önüne geçildi. Klasörden çıkarıp çalıştırdığınızda yedek alacaktır.
3- Dosyanın adını yedek alınan dosyanın adının sonuna ekliyor. Yani tarih ve saatten sonra dosya ismi geliyor.
Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set ds = CreateObject("Scripting.FileSystemObject")
ThisWorkbook.Save
If ds.FolderExists("D:\YEDEKLER") = False Then
ds.CreateFolder "D:\YEDEKLER"
End If
If ThisWorkbook.Path = "D:\YEDEKLER" Then Exit Sub
If MsgBox("Dosyanın yedeğini almak istiyor musunuz?", vbInformation + vbYesNo, "DURUM") = vbYes Then
yol = "D:\YEDEKLER\" & Replace(Now, ":", "_") & "-" & ThisWorkbook.Name
ds.CopyFile ThisWorkbook.FullName, yol
End If
End Sub
 

Ekli dosyalar

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,552
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Teşekkürler...
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Sn.Uzmanımız
Belirlenen gün ve saatin dışında çalışma kitabında işlem yapıp kapattığımızda otomatik olarak D sürücüsünde "YEDEKLER"adlı klasöre yedekleme yapacak bir kod verebilirmisiniz.
Bu benim önerdiğimden daha güzel bir çözüm olur.
Bir diğer sorum Her yedeği ayrı ayrı mı arşivliyecek yoksa üzerine mi yazacak .?
Teşekkürler
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Sn.Uzmanımız
Belirlenen gün ve saatin dışında çalışma kitabında işlem yapıp kapattığımızda otomatik olarak D sürücüsünde "YEDEKLER"adlı klasöre yedekleme yapacak bir kod verebilirmisiniz.
Bu benim önerdiğimden daha güzel bir çözüm olur.
Bir diğer sorum Her yedeği ayrı ayrı mı arşivliyecek yoksa üzerine mi yazacak .?
Teşekkürler
sn. kemal turan,
İsteğinizin ikisi de mümkün. Yalnız istağinizi ayrıntılı bir şekilde açıklamalısınız.
1- Belirtilen gün ve tarihten kastınız. Bir tarih aralığı mı yoksa belli bir gün ve saat mi? Eğer bir aralıksa bu tarih aralığını belirtin. Örneğin: 10.10.2011-9:00-15.10.2011-17:00 gibi...
2-
Bir diğer sorum Her yedeği ayrı ayrı mı arşivliyecek yoksa üzerine mi yazacak .?
Hangisini istiyorsanız onu belirtin.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Ben gün içerisinde ara ara verileri girip çalışma sayfalarımı kapatıyorum.Cobıan buckup proğram ile de hergün aksam 7 de backup alıyor D sürücüsündeki dosyaya ayrı ayrı günler olarak yedeğini alıyor.Misal saat 14:00 de bir sıkıntı olduğunda bir gün önceki yedeğin üzerine saat 14:00 e kadar yaptıklarımı tekrar yapıyorum.
Sizin yazdığınız kod ile gün içerisinde çalışma sayfamı her kapattığımda otomatik olarak yedek aldırabilirsek bu daha mükemmel olur diye düşündüm.
Teşekkür ederim.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
3 nolu mesajı isteğiniz doğrultusunda düzenledim. Örnek dosyayı deneyebilirsiniz.
 

Mustafa MUTLU

Destek Ekibi
Destek Ekibi
Katılım
24 Temmuz 2008
Mesajlar
1,586
Excel Vers. ve Dili
Ofis 2013 TR 32 Bit
Alternatif Olsun :
Thisworkbook bölümüne kopyalayın.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set ds = CreateObject("Scripting.FileSystemObject")
If MsgBox("Yedek alınacak onaylıyor musunuz ?", vbCritical + vbYesNo, "Mustafa MUTLU") = vbYes Then
Dim Yedek As String
Trh = Replace(Now, ":", "_")
Kyt = "D:\YEDEKLER\"
ThisWorkbook.Save
ds.CopyFile ThisWorkbook.FullName, Kyt & Trh & ".xls"
MsgBox "Yedek alma işlemi tamamlanmıştır.", vbInformation, "Mustafa MUTLU"
Else
MsgBox "Yedek alma işlemi iptal edilmiştir.", vbInformation, "Mustafa MUTLU"
End If
End Sub

Kırmızı yazı adrestir sen kendine göre ayarlayabilirsin.
D sürücüne YEDEKLER adlı bir Klasör Koyman Lazım.
Çıkış Yaptığında Yedek Alıp Almayacağını sorar.
Çıkış Yaptığın Tarih ve Saate Göre Kayıt Yapar.
İstersen Yedek Almayabilirsin.
Yedek istemiyorum dersen
Değişiklikleri Kayıt edeyim mi seçeneği çıkar.
İstersen değişiklikleride kaydetmeyebilirsin.
 

mcetinkaya65

Altın Üye
Katılım
1 Mart 2011
Mesajlar
487
Excel Vers. ve Dili
2021 türkçe
Altın Üyelik Bitiş Tarihi
24-12-2030
Elinize beyninize sağlık,
Fakat bir sorun var,yedeği incelediğimizde kapatırken yedeğinde yedeğini alıyor.
Yedekleme yaparken tarih ve saatle birlikte yedekleme yapılan dosyanın ismini de almamız mümkün mü?
saygılarımla.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Sn.leumruk uzmanımız,
Zihninize ve emeğinize sağlık.
Bütün işlerimizi excelde gören bizler için önemli olan bir katkıyı sağladınız.
Bence bu çalışma çok arkadaşın işine yarayacaktır.
Sn.mcetinkaya nın yedektedki dosya adı isteğine bende katılıyorum.
Her şey için teşekkürler..
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Rica ederim. İşinize yaradığına sevindim... 3 nolu mesajımdaki koda eklemeler yaptım. Örneği de güncelledim. Yeni örnekte aşağıdaki özellikler mevcut:
1- D sürücüsünde "YEDEKLER" klasörü var mı yok mu kontrol ediyor. Eğer yoksa klasörü oluşturup dosyayı yedekliyor.
2- Dosyayı "YEDEKLER" klasöründe açıp inceledikten sonra kapattığınızda yedeğini almıyor. Böylece yedeğin yedeğini almasının önüne geçildi. Klasörden çıkarıp çalıştırdığınızda yedek alacaktır.
3- Dosyanın adını yedek alınan dosyanın adının sonuna ekliyor. Yani tarih ve saatten sonra dosya ismi geliyor.
NOT: Ek özellik isterseniz ekleyebiliriz.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Mustafa bey çok güzel olmuş.
Yalnız önceki kod da var olan msgbox uyarısını kaldırmışsınız.
Yani yedekleme gerekmeyecek sık açıp kapatmalarda evet-hayır seçeneği olsa iyi olurdu.
Ben eklemeye çalıştım hata verdi.
kolay gelsin
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Mustafa bey çok güzel olmuş.
Yalnız önceki kod da var olan msgbox uyarısını kaldırmışsınız.
Yani yedekleme gerekmeyecek sık açıp kapatmalarda evet-hayır seçeneği olsa iyi olurdu.
Ben eklemeye çalıştım hata verdi.
kolay gelsin
Msgbox uyarısını Mustafa MUTLU adlı kullanıcımız kodlarıma eklemiş. Sanırım siz o kodu denediniz. 3 nolu mesaja msgbox ekledim. Yeniden deneyebilirsiniz.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Çok Teşekkür ederim.
Selametle kalınız
 

mcetinkaya65

Altın Üye
Katılım
1 Mart 2011
Mesajlar
487
Excel Vers. ve Dili
2021 türkçe
Altın Üyelik Bitiş Tarihi
24-12-2030
Çok sağolun,
emeğiniğze ve bilginize sağlık.
 

mcetinkaya65

Altın Üye
Katılım
1 Mart 2011
Mesajlar
487
Excel Vers. ve Dili
2021 türkçe
Altın Üyelik Bitiş Tarihi
24-12-2030
Dosyayı kapatınca gelen (Gizlilik uyarısı:.....) kaldırılamaz mı?
 

Mustafa MUTLU

Destek Ekibi
Destek Ekibi
Katılım
24 Temmuz 2008
Mesajlar
1,586
Excel Vers. ve Dili
Ofis 2013 TR 32 Bit
Msgbox uyarısını Mustafa MUTLU adlı kullanıcımız kodlarıma eklemiş. Sanırım .
Doğrudur..

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set ds = CreateObject("Scripting.FileSystemObject")
ThisWorkbook.Save
If ds.FolderExists("D:\YEDEKLER") = False Then
ds.CreateFolder "D:\YEDEKLER"
End If
If ThisWorkbook.Path = "D:\YEDEKLER" Then Exit Sub
If MsgBox("Dosyanın yedeğini almak istiyor musunuz?", vbInformation + vbYesNo, "DURUM") = vbYes Then
yol = "D:\YEDEKLER\" & Replace(Now, ":", "_") & "-" & ThisWorkbook.Name
ds.CopyFile ThisWorkbook.FullName, yol
End If
End Sub

Bu Kodu :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set ds = CreateObject("Scripting.FileSystemObject")
Dim Yedek As String
Trh = Replace(Now, ":", "_")
Kyt = "D:\YEDEKLER\"
ThisWorkbook.Save
ds.CopyFile ThisWorkbook.FullName, Kyt & Trh & ".xls"
End Sub

Bu Şekilde kısalttım.
Zaten ALTERNATİF olsun demiştim.
Amaç Görsellik katmak.
Ne tekim
Mustafa bey çok güzel olmuş.
demekle beğendiğini söyledi arkadaşımız.
 
Üst