Personal.xls otomatik kayıt.

sscey

Altın Üye
Katılım
16 Şubat 2005
Mesajlar
80
Excel Vers. ve Dili
Office 365 Türkçe
Altın Üyelik Bitiş Tarihi
05-12-2024
Sayın Ustalarım,
Personal.xls dosyası otomatik kaydedilsin.
"Personal.xls içinde yaptığınız değişiklikleri kaydetmek istiyormusunuz?" diye sormasın.
Personal.xls dosyasının WBA kod ThisWorkbokk ta
"Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Save
End Sub"
makrosu var. Ama yinede soruyor.
Nasıl çözebilrim?
 
Katılım
2 Mart 2011
Mesajlar
120
Excel Vers. ve Dili
İşyerinnde Excel 2003
Evde Excel 2010
Sayın Ustalarım,
Personal.xls dosyası otomatik kaydedilsin.
"Personal.xls içinde yaptığınız değişiklikleri kaydetmek istiyormusunuz?" diye sormasın.
Personal.xls dosyasının WBA kod ThisWorkbokk ta
"Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Save
End Sub"
makrosu var. Ama yinede soruyor.
Nasıl çözebilrim?


aşağıdaki kodlar excel dosyanı istediğin dakikada otomatik kayıt eder ve istediğin saatte otomatik yedek alır.


workbook içine

Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.OnTime dTime, "AutoSaveAs", , False
    Application.OnTime mTime, "AutoSave", , False
End Sub
 
Private Sub Workbook_Open()
    mTime = Time + TimeValue("00:10:00")   'kaç dakikada bir oto kayıt yapılacak
    dTime = TimeValue("18:05:00")                'saat kaçta oto yedek alacak.
    Application.OnTime dTime, "AutoSaveAs"
    Application.OnTime mTime, "AutoSave"
End Sub



modül içerisine

Kod:
Public dTime As Date
Public mTime As Date
Sub AutoSaveAs()
    dTime = TimeValue("18:05:00")     'oto yedek tarihini workbooktakinin aynısını burayada yaz
    With Application
        .OnTime dTime, "AutoSaveAs"
        .OnTime mTime, "AutoSave"
        .EnableEvents = False
        .DisplayAlerts = False
        ThisWorkbook.Save ' yedek almadan önce çalışma kitabını kayıt eder
        ThisWorkbook.SaveAs "D:\Yedek alınacak dizin" & Format(Date, "dd.mm.yyyy") & "hangi isimle kayıt edileceği " & ".xls" 'dizin ismini ve hangi isimle kayıt edileceğini yazın yedek aldığı tarih ve sizin belirlediğiniz isimle otomatik kayıt yapacaktır
        MsgBox Date & "Yedek kaydedilmiştir "
        Workbooks.Open "orjinal dosyanızın adresini yazın" ' oto yedek aldıktan sonra orjinal dosyanızı açar ve çalışmanıza devam edersiniz.
        .EnableEvents = True
    End With
End Sub
Sub AutoSave()
    mTime = Time + TimeValue("00:10:00") ' workbokk a yazdığın oto kayıt zamanının aynısını buraya yaz
    With Application
        .OnTime mTime, "AutoSave"
        .EnableEvents = False
        .DisplayAlerts = False
         ThisWorkbook.Save
        .EnableEvents = True
    End With
End Sub
ayrıca zamanlarda değişiklik yaparsan programı kapatıp açman gereklidir.
 
Üst