[Yardım]  Yedek alırken istenilen yerin seçilmesi

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

Yedek alırken istenilen yerin seçilmesi

İleti#1)  massgrave » 13 Ağu 2019 07:36

Merhaba;
Aşağıdaki kod ile Yedeği C:\YEDEK konumuna alabiliyorum. Fakat ben;

- Gözat penceresi ile yedeğin nereye alınacağını seçmek istiyorum.
- Yedek alınan sayfada userfırmu açmak için gereken butonda var yedek alırken onuda dahil ediyor. Onu almamasını istiyorum.

Yardımcı olur musunuz.

Kod: Tümünü seç
Private Sub CommandButton7_Click()
YesNo = MsgBox("Data Yedeği 'C:\YEDEK\ ' Konumuna alınacaktır. Onaylıyor musunuz?", vbYesNo + vbInformation, "DATA'YI YEDEKLE")
Select Case YesNo
Case vbYes
    If Not CreateObject("Scripting.FileSystemObject").FolderExists("C:\YEDEK") Then
    CreateObject("Scripting.FileSystemObject").CreateFolder ("C:\YEDEK")
    End If
    Sheet2.Copy
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:="C:\YEDEK\" & ActiveSheet.Name & "_" & Format(Now(), "mm.dd.yy_hh.mm") & ".xlsx"
    ActiveWorkbook.Close
    Application.Visible = False
    End Select
End Sub
Kullanıcı avatarı
massgrave
Yeni Başlamış
 
Kayıt: 24 Haz 2019 19:50
Meslek: Yok
Yaş: 40
İleti: 64
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara

Cevap: Yedek alırken istenilen yerin seçilmesi

İleti#2)  ahmetilhan282 » 13 Ağu 2019 21:20

Aşağıdaki kodları deneyin:
ActiveWorkbook.ActiveSheet.Shapes("Buton Adı Buraya").Delete
bu satırdaki buton adını düzenleyin
Kod: Tümünü seç
Private Sub CommandButton7_Click()
    If MsgBox("Yedeklemek istiyor musunuz?", vbYesNo + vbInformation, "DATA'YI YEDEKLE") = vbYes Then
        Dim ds As Object
        Set ds = CreateObject("Scripting.FileSystemObject")
        With Application.FileDialog(msoFileDialogFolderPicker)
            .Show
            If .SelectedItems.Count = 1 Then
                Sheet2.Copy
                Application.DisplayAlerts = False
                ActiveWorkbook.SaveAs Filename:=.SelectedItems(1) & ActiveSheet.Name & "_" & Format(Now(), "mm.dd.yy_hh.mm") & ".xlsx"
                ActiveWorkbook.ActiveSheet.Shapes("Buton Adı Buraya").Delete
                ActiveWorkbook.Close True
                Application.DisplayAlerts = True
                MsgBox "Yedekeleme Tamamlandı.", vbInformation, "BİLGİ"
            End If
        End With
        Set ds = Nothing
    End If
End Sub
Kullanıcı avatarı
ahmetilhan282
Site Dostu
 
Adı Soyadı:Ahmet İLHAN
Kayıt: 15 Oca 2014 00:04
Konum: Adana
Meslek: Güvenlik
Yaş: 29
İleti: 873
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Mersin

Cevap: Yedek alırken istenilen yerin seçilmesi

İleti#3)  massgrave » 14 Ağu 2019 07:31

Teşekkür ederim.
Aşağıdaki kodlar ile sorunumu çözdüm.

Kod: Tümünü seç
Dim a As OLEObject
'......
     'Set klasorsec = CreateObject("Shell.Application").BrowseForFolder(0, "Klasör seçiniz", 0, "c:\")
'.....

Set klasorsec = CreateObject("Shell.Application").BrowseForFolder(0, "Klasör seçiniz", 0)

If Not klasorsec Is Nothing Then yol = klasorsec.SELF.Path
If yol = False Then Exit Sub
If Not CreateObject("Scripting.FileSystemObject").FolderExists(yol) Then
MsgBox "Seçilen bölüm Kayıt için uygun değil"
Exit Sub
End If
YesNo = MsgBox("Data Yedeği " & "'" & yol & "'" & "  Konumuna alınacaktır. Onaylıyor musunuz?", vbYesNo + vbInformation, "DATA'YI YEDEKLE")
Select Case YesNo
Case vbYes

   Sheet2.Copy
    Application.DisplayAlerts = False
 
For Each a In ActiveWorkbook.ActiveSheet.OLEObjects
If TypeName(a.Object) = "CommandButton" Then a.Delete
Next
    ActiveWorkbook.SaveAs Filename:=yol & "\" & ActiveSheet.Name & "_" & Format(Now(), "mm.dd.yy_hh.mm") & ".xlsx"
   
    ActiveWorkbook.Close
    Application.Visible = False
    End Select
Kullanıcı avatarı
massgrave
Yeni Başlamış
 
Kayıt: 24 Haz 2019 19:50
Meslek: Yok
Yaş: 40
İleti: 64
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara

Cevap: Yedek alırken istenilen yerin seçilmesi

İleti#4)  ayhan518 » 14 Ağu 2019 17:32

merhabalar. konuyu tesadüfen buldum ve çok işime yaradı gerçekten paylaştığınız kod. fakat benim farklı bir isteğim daha olacak. yedek alırken sayfa2 nin tamamını değilde sadece sayfa2 deki yazdırma alanı olarak belirlediğim hücreleri kaydetse aldığımız yedeğe. bunun için yardımcı olabilir misiniz?
Kullanıcı avatarı
ayhan518
Yeni Başlamış
 
Kayıt: 06 Şub 2019 16:15
Meslek: serbest
Yaş: 34
İleti: 10
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: bursa/ nilüfer

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Cevap: Yedek alırken istenilen yerin seçilmesi

İleti#5)  ayhan518 » 20 Ağu 2019 19:06

massgrave yazdı:Teşekkür ederim.
Aşağıdaki kodlar ile sorunumu çözdüm.

Kod: Tümünü seç
Dim a As OLEObject
'......
     'Set klasorsec = CreateObject("Shell.Application").BrowseForFolder(0, "Klasör seçiniz", 0, "c:\")
'.....

Set klasorsec = CreateObject("Shell.Application").BrowseForFolder(0, "Klasör seçiniz", 0)

If Not klasorsec Is Nothing Then yol = klasorsec.SELF.Path
If yol = False Then Exit Sub
If Not CreateObject("Scripting.FileSystemObject").FolderExists(yol) Then
MsgBox "Seçilen bölüm Kayıt için uygun değil"
Exit Sub
End If
YesNo = MsgBox("Data Yedeği " & "'" & yol & "'" & "  Konumuna alınacaktır. Onaylıyor musunuz?", vbYesNo + vbInformation, "DATA'YI YEDEKLE")
Select Case YesNo
Case vbYes

   Sheet2.Copy
    Application.DisplayAlerts = False
 
For Each a In ActiveWorkbook.ActiveSheet.OLEObjects
If TypeName(a.Object) = "CommandButton" Then a.Delete
Next
    ActiveWorkbook.SaveAs Filename:=yol & "\" & ActiveSheet.Name & "_" & Format(Now(), "mm.dd.yy_hh.mm") & ".xlsx"
   
    ActiveWorkbook.Close
    Application.Visible = False
    End Select




merhabalar. kodu kendi bilgisayarımda uyguladım sorunsuz çalışıyor. fakat iş yerindeki bilgisayarda çalıştığım dosyada uyguladığımda " run-time error '429' activex component can't create object excel " hatasını alıyorum. bu konuda biraz acemiyim. yardımlarınıza ihtiyacım var. şimdiden teşekkür ederim.
Kullanıcı avatarı
ayhan518
Yeni Başlamış
 
Kayıt: 06 Şub 2019 16:15
Meslek: serbest
Yaş: 34
İleti: 10
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: bursa/ nilüfer


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: AhrefsBot ve 1 misafir

Bumerang - Yazarkafe