Yedek Alma Problemi

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
merhaba
aşağdaki kodlar normal bilgisayarda çalışıyor. Fakat bir laptop ta aşagıdaki bold olansatırlarda hata veriyor.
Nasıl çözebiliriz.
Teşekkür ederim
CreateObject("Scripting.FileSystemObject").CopyFile ThisWorkbook.FullName, Kayıt_Yeri
ds.CopyFile ThisWorkbook.FullName, yol

Kod:
Private Sub CommandButton21_Click()
Dim Yedek_Dosya_Adı As String, Kayıt_Yeri As String
Dim Klasor As String, uzanti As String, dosya As String
Klasor = "c:\Yedekler"
uzanti = Right(ThisWorkbook.name, InStr(1, StrReverse(ThisWorkbook.name), ".", vbTextCompare) - 1)
dosya = Mid(ThisWorkbook.name, 1, Len(ThisWorkbook.name) - Len(uzanti) - 1)
ActiveWorkbook.Save
Application.DisplayAlerts = False
Yedek_Dosya_Adı = "DOĞA MOB. CARİ TAKİP PROĞRAMI " & dosya & Format(Now, " dd_mm_yyyy_hh_nn_ss") & "." & uzanti
Kayıt_Yeri = Klasor & "\" & Yedek_Dosya_Adı
If CreateObject("Scripting.FileSystemObject").FolderExists(Klasor) = False Then
MkDir Klasor
End If
CreateObject("Scripting.FileSystemObject").CopyFile ThisWorkbook.FullName, Kayıt_Yeri
MsgBox "Dosyanız aşağıdaki isimle yedeklenmiştir." & Chr(10) & Chr(10) & Kayıt_Yeri, vbInformation, "U Y A R I "
Application.DisplayAlerts = True
ThisWorkbook.Close
Application.Quit
End Sub
Kod:
Set ds = CreateObject("Scripting.FileSystemObject")
ThisWorkbook.Save

ds.CopyFile ThisWorkbook.FullName, yol
If ds.FolderExists("E:\MUHASEBE PROĞRAMI") = False Then
ds.CreateFolder "E:\MUHASEBE PROĞRAMI"
End If
If ThisWorkbook.Path = "E:\MUHASEBE PROĞRAMI" Then Exit Sub
If MsgBox("Dosyanın yedeğini almak istiyor musunuz?", vbInformation + vbYesNo, "VBA KT YAZILIM") = vbYes Then
yol = "E:\MUHASEBE PROĞRAMI\" & Replace(Now, ":", "_") & "-" & ThisWorkbook.Name
ds.CopyFile ThisWorkbook.FullName, yol
End If
ThisWorkbook.Close
Application.Quit
 

BaY_KaPTaN

Kürşat
Altın Üye
Katılım
4 Mart 2008
Mesajlar
85
Excel Vers. ve Dili
Office 2007 Türkçe
Altın Üyelik Bitiş Tarihi
04-10-2028
merhaba
aşağdaki kodlar normal bilgisayarda çalışıyor. Fakat bir laptop ta aşagıdaki bold olansatırlarda hata veriyor.
Nasıl çözebiliriz.
Teşekkür ederim
CreateObject("Scripting.FileSystemObject").CopyFile ThisWorkbook.FullName, Kayıt_Yeri
ds.CopyFile ThisWorkbook.FullName, yol

Kod:
Private Sub CommandButton21_Click()
Dim Yedek_Dosya_Adı As String, Kayıt_Yeri As String
Dim Klasor As String, uzanti As String, dosya As String
Klasor = "c:\Yedekler"
uzanti = Right(ThisWorkbook.name, InStr(1, StrReverse(ThisWorkbook.name), ".", vbTextCompare) - 1)
dosya = Mid(ThisWorkbook.name, 1, Len(ThisWorkbook.name) - Len(uzanti) - 1)
ActiveWorkbook.Save
Application.DisplayAlerts = False
Yedek_Dosya_Adı = "DOĞA MOB. CARİ TAKİP PROĞRAMI " & dosya & Format(Now, " dd_mm_yyyy_hh_nn_ss") & "." & uzanti
Kayıt_Yeri = Klasor & "\" & Yedek_Dosya_Adı
If CreateObject("Scripting.FileSystemObject").FolderExists(Klasor) = False Then
MkDir Klasor
End If
CreateObject("Scripting.FileSystemObject").CopyFile ThisWorkbook.FullName, Kayıt_Yeri
MsgBox "Dosyanız aşağıdaki isimle yedeklenmiştir." & Chr(10) & Chr(10) & Kayıt_Yeri, vbInformation, "U Y A R I "
Application.DisplayAlerts = True
ThisWorkbook.Close
Application.Quit
End Sub
Kod:
Set ds = CreateObject("Scripting.FileSystemObject")
ThisWorkbook.Save

ds.CopyFile ThisWorkbook.FullName, yol
If ds.FolderExists("E:\MUHASEBE PROĞRAMI") = False Then
ds.CreateFolder "E:\MUHASEBE PROĞRAMI"
End If
If ThisWorkbook.Path = "E:\MUHASEBE PROĞRAMI" Then Exit Sub
If MsgBox("Dosyanın yedeğini almak istiyor musunuz?", vbInformation + vbYesNo, "VBA KT YAZILIM") = vbYes Then
yol = "E:\MUHASEBE PROĞRAMI\" & Replace(Now, ":", "_") & "-" & ThisWorkbook.Name
ds.CopyFile ThisWorkbook.FullName, yol
End If
ThisWorkbook.Close
Application.Quit
Merhaba.
Diğer bilgisayarda da klasör yolu aynı değilse hata verir.
Aşağıdaki klasör yolunu kontrol edin laptop'ta.
Klasor = "c:\Yedekler"
ds.CreateFolder "E:\MUHASEBE PROĞRAMI"
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Klasör yolu doğru benim laptop ve PC de sıkıntı yok
Sıkıntı olan laptop ta C de dosya adı doğru buna rağmen hata veriyor
2 nci kodu yıllardır kullanıyorum.
 

BaY_KaPTaN

Kürşat
Altın Üye
Katılım
4 Mart 2008
Mesajlar
85
Excel Vers. ve Dili
Office 2007 Türkçe
Altın Üyelik Bitiş Tarihi
04-10-2028
Klasör yolu doğru benim laptop ve PC de sıkıntı yok
Sıkıntı olan laptop ta C de dosya adı doğru buna rağmen hata veriyor
2 nci kodu yıllardır kullanıyorum.
Laptop ve PC'de Office sürümü aynımı_?

Bana hala laptopda o klasörlerdein yolunda bir hata var gibi geliyor.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
2 nci kodda E yazıyor ben C olarak değiştiriyorum sanki laptop izin vermiyor.
Yine 2 nci kodda eğer klasör yok ise klasörü açıyor fakat kayıt yapmıyor
Bilginize
 

BaY_KaPTaN

Kürşat
Altın Üye
Katılım
4 Mart 2008
Mesajlar
85
Excel Vers. ve Dili
Office 2007 Türkçe
Altın Üyelik Bitiş Tarihi
04-10-2028
2 nci kodda E yazıyor ben C olarak değiştiriyorum sanki laptop izin vermiyor.
Yine 2 nci kodda eğer klasör yok ise klasörü açıyor fakat kayıt yapmıyor
Bilginize
O klasöre siz kendiniz elle dosya kaydedebiliyormusunuz_?
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
manuel kopyala yapıştırda sıkıntı yok
 

BaY_KaPTaN

Kürşat
Altın Üye
Katılım
4 Mart 2008
Mesajlar
85
Excel Vers. ve Dili
Office 2007 Türkçe
Altın Üyelik Bitiş Tarihi
04-10-2028
manuel kopyala yapıştırda sıkıntı yok
Yolu bu şekilde yapıp denermisiniz_?
Yani tarihsel bişey olmasın.

Kod:
yol = "E:\MUHASEBE PROĞRAMI\"  & ThisWorkbook.Name & "- YEDEK"
Bu da olmazsa, üstteki koda Masaüstü yolunu girerek birde deneyin, onda da hata veriyormu_?
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Bu satırda yine hata veriyor
ds.CopyFile ThisWorkbook.FullName, yol
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Örnek dosya atarmısınız, aynı isimde olursa iyi olur.
Kürşat bey
Dosyada veya içeriğinde hiç bir sıkıntı yok
Kod benim laptopda çalışıyor
Diğer PC lerde çalışıyor
Diğer laptop da ayarlarında veya Windows sürümünde birbir sıkıntı var herhalde
 

BaY_KaPTaN

Kürşat
Altın Üye
Katılım
4 Mart 2008
Mesajlar
85
Excel Vers. ve Dili
Office 2007 Türkçe
Altın Üyelik Bitiş Tarihi
04-10-2028
Kürşat bey
Dosyada veya içeriğinde hiç bir sıkıntı yok
Kod benim laptopda çalışıyor
Diğer PC lerde çalışıyor
Diğer laptop da ayarlarında veya Windows sürümünde birbir sıkıntı var herhalde
Yardımcı olabilmek için, gözden kaçan birşey olabilir diye istemiştim fakat uzaktan bu kadar olabiliyor.

Aklıma gelen seçenekler;
1- Windows Sürümü Farklılığı - Laptop ve PC'den kontrol edin.
2- Office Sürüm Farklılığı - Laptop ve PC'den kontrol edin.
3- Klasör Yolu ile ilgili sıkıntı (Sıkıntı yok demiştiniz)
4- Dosya adıyla ilgili saatsel bir sıkıntı (Sıkıntı yok demiştiniz)
Diğer bilgileri bilemiyorum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,191
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Verdiği hatanın görselini de paylaşabilirseniz yönlendirici olabilir.
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032

Ekli dosyalar

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Korhan Hocam
Aşağıda makro kullanarak farklı kaydet seçeneği ile yedek dosyayı kayıt ediyor
Kod:
    ChDir "C:\MUHASEBE PROĞRAM"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\MUHASEBE PROĞRAM\DOĞA BELLONA SATIŞ TAHSİLAT PROĞRAMI V3 222.xlsm", _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Korhan Hocam merhaba
Aşapıdaki youtube linkinde "Bad file name or number" hatasının antivirüs proğramından kaynaklandığını açıklıyor.
Ondan olsa gerek. Karşı bilgisayardaki virüs proğramı farklı olduğundan çözümü birebir uygulayamadım.

 
Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
C:\yedekler klasörü içine yedekal.bat dosyasını oluşturun.
dosya içindeki pause komutu işlem sonucu gösterdikten sonra beklemesini sağlar.
İhtiyaç yok ise eklenmeyebilir.

Kod:
copy %1 %2
pause
yedekleme kodu aşağıdaki şekilde kullanın.

Kod:
Private Sub CommandButton21_Click()
    Dim Yedek_Dosya_Adı As String, Kayıt_Yeri As String
    Dim Klasor As String, uzanti As String, dosya As String

    Klasor = "c:\Yedekler"
    uzanti = Right(ThisWorkbook.Name, InStr(1, StrReverse(ThisWorkbook.Name), ".", vbTextCompare) - 1)
    dosya = Mid(ThisWorkbook.Name, 1, Len(ThisWorkbook.Name) - Len(uzanti) - 1)
    ActiveWorkbook.Save

    Application.DisplayAlerts = False
    Yedek_Dosya_Adı = "DOĞA MOB. CARİ TAKİP PROĞRAMI " & dosya & Format(Now, " dd_mm_yyyy_hh_nn_ss") & "." & uzanti
    Kayıt_Yeri = Klasor & "\" & Yedek_Dosya_Adı

    On Error Resume Next
    MkDir Klasor
    On Error GoTo 0

    CommandString = "c:\yedekler\yedekal.bat" + " " + """" + ThisWorkbook.FullName + """" + " " + """" + Kayıt_Yeri + """"
    Call Shell("cmd.exe /c" & CommandString, vbNormalFocus)

    MsgBox "Dosyanız aşağıdaki isimle yedeklenmiştir." & Chr(10) & Chr(10) & Kayıt_Yeri, vbInformation, "U Y A R I "

    Application.DisplayAlerts = True
    ThisWorkbook.Close
    Application.Quit
End Sub
 
Son düzenleme:

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Asri bey merhaba
Çok teşekkür ederim.
Selametle kalınız
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,666
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Asri bey benim bilgisayarda çalışmıştı .
Karşı bilgisayar da yedekal.bat dosyası oluşturdum.
Hata vermedi yedek alınmıştır mesaj kutusu oluştu ama hedef yedekler klasöründe dosyayı kayıt etmedi.
 
Katılım
24 Nisan 2005
Mesajlar
3,669
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Asri bey benim bilgisayarda çalışmıştı .
Karşı bilgisayar da yedekal.bat dosyası oluşturdum.
Hata vermedi yedek alınmıştır mesaj kutusu oluştu ama hedef yedekler klasöründe dosyayı kayıt etmedi.
yedekal.bat dosyasına pause ekleyip hata olarak ne yazdığına bakabilir misiniz.

copy %1 %2
pause
 
Üst