AccessTr.neT
Yedek Almak - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Yedek Almak (/konu-yedek-almak.html)

Sayfalar: 1 2


Yedek Almak - m_demir - 04/03/2021

Merhaba Arkadaşlar

Eklediğim kodlarla Excel kitabını kapattığım zaman kayıt yapıyor ve C nin altındaki yedek klasörüne yedek alıyor.

Yedek aldığı zaman aynı Excel kitabından 2 tane yedek alıyor. 1 tane yedek almam için kodda nasıl bir değişiklik yapmam gerekiyor.

Private Sub Workbook_BeforeClose(Cancel As Boolean)

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

ActiveWorkbook.Save
Application.Quit

End Sub



RE: Yedek Almak - feraz - 04/03/2021

Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
kodları silip 
Kod:
Sub Auto_Close
kodlarını alttaki gibi yapıp deneyin.Yani o kodları Sub Auto_Close içine yazın sadece.

Sub Auto_Close()
Set ds = CreateObject("Scripting.FileSystemObject")
'ThisWorkbook.Save
    ActiveWorkbook.Save
If ds.FolderExists("C:\Yedek") = False Then ds.CreateFolder "C:\Yedek"
If ThisWorkbook.Path = "C:\Yedek" Then Exit Sub
'If MsgBox("Dosyanýn yedeðini almak istiyor musunuz?", vbInformation + vbYesNo, "DURUM") = vbYes Then
yol = "C:\Yedek\" & Replace(Now, ":", "_") & "-" & ThisWorkbook.Name
ds.CopyFile ThisWorkbook.FullName, yol
'End If 'Oyomatik yedekleme sonu

ActiveWorkbook.Save
Application.Quit
End Sub



RE: Yedek Almak - m_demir - 04/03/2021

Hocam dediğiniz gibi yaptım. C:\ nin altında Yedek klasörü oluşturmuyor. Yedek oluşturmuyor.


RE: Yedek Almak - feraz - 04/03/2021

(04/03/2021, 20:59)m_demir yazdı: Hocam dediğiniz gibi yaptım. C:\ nin altında Yedek klasörü oluşturmuyor.  Yedek oluşturmuyor.
Kodlar sizin zaten abey bende oluşturuyordu.
Zaten kodda o klasör yoksa oluştur kodu var.
Modül içinde olacak auto_close

(04/03/2021, 17:53)feraz yazdı: If ds.FolderExists("C:\Yedek") = False Then ds.CreateFolder "C:\Yedek"
Bu kod demek eğer C sürücüde Yedek adında klasör yoksa oluşturur


RE: Yedek Almak - feraz - 04/03/2021

Yada şöyle deneyin.sub auto_close kodunu silin workbookclose kodu kalsın.
Ben deneyemedim çünkü bazen benim excelde bu çalışma kitabının kod bölümüne giremiyorum ne hikmetse Img-cray
Ve alttaki kodlar çalışmıyor bende bazen.O yüzden auto_close içine aldım.
Private Sub Workbook_BeforeClose(Cancel As Boolean)


RE: Yedek Almak - m_demir - 04/03/2021

Çok teşekkürler Hocam ellerinize sağlık.

Hocam konuyu taşıyabilirsiniz. Saygılarımla.