• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Yedek alma işleminde düzeltme

acebeci

Altın Üye
Katılım
25 Ağustos 2007
Mesajlar
326
Excel Vers. ve Dili
ofis excel 2010 türkçe
Değerli büyüklerim Üstadlarım daha önce sizlerin yardımı ile oluşturduğumuz aşağıda kodla dosyamı kapatırken yedek alıp almayacağımı soruyor ve eğer istersem Dosyanın Yedeğini alıyorum bu gerçekten çok işime yarıyor yalnız şöyle bir sorun oldu dosyayı kapatırken yedek almak istesem de istemesem de dosyada yapılan değişiklikleri mutlaka kaydediyor bazen değişiklikleri kaydetmeden çıkmam gerekiyor acaba bu kodlarda bir düzeltme yapılabilir mi? bu konuda yardımcı olabilir misiniz?

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 musun?", vbInformation + vbYesNo, "DURUM") = vbYes Then
yol = "D:\YEDEKLER\" & Replace(Now, ":", "_") & "-" & ThisWorkbook.Name
ds.CopyFile ThisWorkbook.FullName, yol
End If
End Sub
 
Koddaki ThisWorkbook.Save satırı, dosyanın kapatılmadan önce kaydedilmesini sağlıyor ....

.
 
Sayın Haluk Aynen dediğiniz gibi o satırı sildim şimdi halloldu.İlginizden doğayı Çok teşekkür ederim
 
Rica ederim....

Alternatif olarak, aşağıdaki kodu da kullanabilirsiniz.

Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If Dir("D:\YEDEKLER", vbDirectory) = "" Then MkDir "D:\YEDEKLER"
    If ThisWorkbook.Path = "D:\YEDEKLER" Then Exit Sub
    If MsgBox("Dosyanın yedeğini almak istiyor musun?", vbInformation + vbYesNo, "DURUM") = vbYes Then
        ThisWorkbook.SaveAs "D:\YEDEKLER\" & Replace(Now, ":", "_") & "-" & ThisWorkbook.Name
    End If
End Sub

.
 
Sayın Haluk çok çok teşekkür ederim tam işimi gördü sağ olun var olun
 
Geri
Üst