Dosyadaki değişikliği kaydettiğimizde yedekleme yapsın

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
Merhaba Arkadaşlar
Forumda bulduğum aşağıdaki kodlarla dosyayı yedekleme yapıyorum
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\" & ThisWorkbook.Name
ds.CopyFile ThisWorkbook.FullName, yol
End If

End Sub
Yukarıdaki kodlar dosya her kapatıldığında sorup yedekleme yapıyor
Benim istediğim dosya her kapatıldığında değilde dosyanın herhangi bir sayfasında değişiklip yapıldığında excelden çıkmak için (x)bastığımızda excelin yapılan değişikliği kaydetmek istiyormusunuz uyarısına evet dediğimizde sormadan yedeklesin istiyorum
Ayrıca dosyadaki değişikliği kendimiz kaydete basıp kaydettiğimizdede yedeklesin
Sadece dosyadaki bilgilere bakıp çıkış yaparken yedeklemesin istiyorum
 
Katılım
28 Kasım 2006
Mesajlar
249
Excel Vers. ve Dili
2007
Altın Üyelik Bitiş Tarihi
26-05-2023
bende kapatırken her durumda yedeklemesini istiyorum dosyama sizin kodu uyguladım ama olmadı nasıl yapab,lirim
 

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
bende kapatırken her durumda yedeklemesini istiyorum dosyama sizin kodu uyguladım ama olmadı nasıl yapab,lirim
Merhaba
kodları ThisWorkbook Sayfasına kopyalıp deneyiniz
"D" de yedekler klosörü açıp yedekler
 

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
Merhaba arkadaşlar
Benim sorum arada kaynamasın
1. mesajımda bahsettiğim soru günceldir
bir fikri olan varmı?
 

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
Arkadaşlar çözmü aşağıdaki kodlarla buldum
Belki birileri faydalanır
kodlar ThisWorkbook sayfasına yazılmalıdır
Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Set ds = CreateObject("Scripting.FileSystemObject")
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 'sormasını istemediğim için bu kısmı pasif ettim
yol = "D:\YEDEKLER\" & ThisWorkbook.Name
ds.CopyFile ThisWorkbook.FullName, yol
'End If
End Sub
 
Üst