Skip to main content

AccessTr.neT


Yedek Almak

Yedek Almak

Çözüldü #1
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
.rar Cari.rar (Dosya Boyutu: 56,64 KB | İndirme Sayısı: 4)
Cevapla
#2
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
Cevapla
#3
Hocam dediğiniz gibi yaptım. C:\ nin altında Yedek klasörü oluşturmuyor. Yedek oluşturmuyor.
Son Düzenleme: 04/03/2021, 21:01, Düzenleyen: m_demir.
Cevapla
#4
(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
Cevapla
#5
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)
Cevapla
#6
Çok teşekkürler Hocam ellerinize sağlık.

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

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task