• DİKKAT

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

Araç çubuğuna "Yedekleme Butonu" ekleme

Katılım
14 Mart 2006
Mesajlar
69
Bir çok örneğe baktım ama aradığım gibi bişi bulamadım. Araççubuğuna bir buton koyayım ve butona tıklayınca yedek alsın ve kapatsın.
İstediğim şu :
1. Belirlediğim klasöre yedek alsın. Herseferinde dosya yolunu sormasın.
2. Dosya adının yanına tarih ekleyerek isimlendirsin. Dosya varsa üzerine yazsın.
3. Yedek aldıktan sonra otomatik kapatsın.
 
mrb.,
Ekli dosyayı incelermisiniz.
 
Merhaba,

Bunu bir deneyin.

Sub Yedekle()
Dim fName As String
fName = "yedek"
klasor = "C:\YEDEK\"
fName = fName & " " & Format(Date, "DD-MM-YYYY") & ".xls"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=klasor & fName
Application.DisplayAlerts = True
ActiveWorkbook.Close
End Sub
 
Tşk.
Yardımcı olabildiğime sevindim. :D :D :D
 
Sn dEdE , çok güzel açıklamışsınız. Ek olarak sizinkine ek olarak dosya adına saat ve dakika da vermek istedim ama beceremedim.
Bu konuda yardımcı olabilir misiniz?
 
"C:\Documents and Settings\KULLANICIADI\Belgelerim\xx\Yedek-" & Date & ".xls", FileFormat:= _

buradaki Date komutunu Now komutu ile değiştirin
 
Ok tşk ler. Gerçekten çok makbule geçti.
Yalnız bir nokta dikkatimi çekti "Ana Çalışma Dosyası" nı kaydetmiyor :yardim:
 
Sub Yedekle()
Application.DisplayAlerts = False
'KULLANICIADI bölümüne kendi dosya yolunu yazmalısın
ChDir "C:\Documents and Settings\KULLANICIADI\Belgelerim\xx"
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\KULLANICIADI\Belgelerim\xx\Yedek-" & Date & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Application.DisplayAlerts = True
Application.Quit
End Sub

Arkadaşlar ellerinize,gönüllerinize sağlık...........
Sayın DEDE,
Bu kodlar sizin çalışmanızdan... Bu kodlarla çalışma kitabının tamamını yedekliyorsunuz.Çalışma kitabındaki sadece bir çalışma sayfasını (örneğin Liste adlı sayfamızı) yedeklemek istesek????
 
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _

Yukarıdaki satırda xlNormal komutunu xlExcel4 komutu ile değiştiriniz. Ancak bu defa makronuz yok olacaktır. Başka bir çözüm var sanıyorum ama, ancak yarın bakabileceğim.
 
Merhaba,

Bir alternatifte benden olsun.

Makro önce C:'de Yedek klasörünün olup olmadığını kontrol ediyor.

Yok ise Yedek klasörü yaratıp içine dosyayı kopyalayarak, sadece ilgili dosyayı kapatıyor.

Kolay gelsin.
[vb:1:cdea26e370]
Sub YedekAl()
On Error Resume Next
Dim FSO As Object
Dim MyFolder, MyFile, MyFileEnd As String
Dim s As Long
MyFolder = "C:\Yedek"
MyFile = "RAPOR"
MyFileEnd = MyFile & " " & Format(Now, "dd mm yyyy hh mm") & ".xls"
Set FSO = CreateObject("Scripting.FileSystemObject")

If Not FSO.FolderExists(MyFolder) Then
FSO.CreateFolder (MyFolder)
End If

ActiveWorkbook.SaveCopyAs Filename:=MyFolder & Application.PathSeparator & MyFileEnd

Set FSO = Nothing

s = Excel.Application.Windows.Count
If s = 1 Then
Application.Quit
Else
ActiveWorkbook.Close
End If
'www.excel.web.tr
End Sub[/vb:1:cdea26e370]
 
benim bilgisayarda kodları deneyim dedim fakat biliyorsunuzki excelde dosya isimlerinde özellikle tarih ve saat yazılan verilerde.(nokta) ve / (ayraç) karekterlerini dosya adına yazmıyor ve kodda hata veriyordu bende şöyle bir çözüm geliştirdim.
örnek olması açısından kodları ekliyorum.
aşağıdaki kodlamada yedekleme klasörü olarak "c:\yedek1\"olduğu varsayılmıştır.

Kod:
Sub Yedekle()
    Dim i As String
    Dim b As String
    Dim c As String
    Dim d As String
    Application.DisplayAlerts = False
    b = Len(Right(ActiveWorkbook.Name, 4))
    Debug.Print b
        i = Len(ActiveWorkbook.Name)
        c = Left(ActiveWorkbook.Name, (i - b))
    Debug.Print c
    Debug.Print i
        d = Format(Now, "dd mm yyyy hh mm nn")
        ActiveWorkbook.SaveAs Filename:= _
        "C:\yedek1\" & c & d & ".xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
        Application.DisplayAlerts = True
        ActiveWorkbook.Save
        Application.Quit
End Sub
 
aşağıdaki kod aktif olan sayfayı yeni sayfaismi tarih ssat olarak kaydeder
C:\yedek1\ klasörüne kaydeder
Kod:
Sub sayfayedekle()
Dim i As String
Dim b As String

i = ActiveSheet.Name
b = Format(Now, "dd mm yyyy hh mm nn")
ActiveSheet.Select
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:= _
        "C:\yedek1\" & i & b & ".xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
        Application.DisplayAlerts = True
        
       Workbooks(i & b & ".xls").Activate
       ActiveWorkbook.Close
       ActiveWorkbook.Save


End Sub
 
Çalışma kitabındaki sadece bir çalışma sayfasını (örneğin Liste adlı sayfamızı) yedeklemek istesek????
Arkadaşlar, sayın DEDE'nin hazırladığı kodlarda küçük bir değişiklik demiştim........
 
Sayın aliakgul,
Kod:
Sub listesayfasınıyedekle()
Dim i As String
Dim b As String

i = Sheets("Liste").Name

b = Format(Now, "dd mm yyyy hh mm nn")
Sheets("Liste").Select
Sheets("Liste").Copy
ActiveWorkbook.SaveAs Filename:= _
        "C:\yedek1\" & i & b & ".xls", FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
        Application.DisplayAlerts = True
        
       Workbooks(i & b & ".xls").Activate
       ActiveWorkbook.Close
       ActiveWorkbook.Save
End Sub
 
bir örnek sayfa atabilirmisiniz..

arkadaşlar bir örnek sayfa atabilirmisiniz....atabilirseniz memmun olurum..
 
Geri
Üst