Sayfayı kaydedince uyarı mesajı çıksın

Katılım
26 Ekim 2022
Mesajlar
25
Excel Vers. ve Dili
Excel 2021 - TR
Makro içeren bir excel dosyam var. CTRL + R kombinasyonu ile kaydedilmesi gerekiyor. Dolayısıyla sol üstten Kaydet, Farklı Kaydet veya CTRL + S kombinasyonları uygulandıgında hata mesajı cıksın istiyorum. Belgeyi kaydetmek için CTRL + R kombinasyonunu kullanınız şeklinde bir msgbox olabilir. Bu konuda yardımlarınızı bekliyorum iyi forumlar dilerim :)
 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
481
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
Merhaba,
Dener misiniz?

Bu isteğinizi gerçekleştirmek için VBA kodu kullanarak belirli kaydetme işlemlerini engelleyebiliriz. Aşağıdaki kod, "ThisWorkbook" bölümüne eklenmeli ve yalnızca CTRL + R kombinasyonu ile kaydetme işlemini aktif hale getirecektir. Diğer kaydetme komutları kullanıldığında ise bir uyarı mesajı görüntülenecektir:

  1. Alt + F11 tuşlarına basarak VBA editörünü açın.
  2. ThisWorkbook bölümüne gidin ve aşağıdaki kodu yapıştırın:
Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    ' CTRL + R ile kaydetme işlemini başlatan makro çalıştırıldıysa kaydetmeyi aktif et
    If ThisWorkbook.CustomDocumentProperties("IsSaveEnabled") = True Then
        ' Kaydetme işlemine izin ver
        ThisWorkbook.CustomDocumentProperties("IsSaveEnabled") = False
    Else
        ' Kaydetme işlemine izin verme ve mesaj göster
        Cancel = True
        MsgBox "Belgeyi kaydetmek için CTRL + R kombinasyonunu kullanınız."
    End If
End Sub

Sub SaveWorkbook()
    ' Kaydetmeyi aktif et
    ThisWorkbook.CustomDocumentProperties.Add Name:="IsSaveEnabled", _
        LinkToContent:=False, Type:=msoPropertyTypeBoolean, Value:=True
    ' Dosyayı kaydet
    ThisWorkbook.Save
End Sub
3.CTRL + R tuş kombinasyonuna bağlamak için, makroyu SaveWorkbook olarak belirlemiş olduk. Şimdi CTRL + R tuşlarına atamak için şu adımları izleyin:
  • Alt + F8 tuşlarına basarak Makro Listesi’ni açın.
  • “SaveWorkbook” isimli makroyu seçin.
  • “Seçenekler”e tıklayarak CTRL + R tuş kombinasyonunu ekleyin ve Tamam diyerek çıkın.
Bu kod sayesinde yalnızca CTRL + R kombinasyonu ile kaydedebilirsiniz; diğer yöntemler hata mesajı verecektir.
 
Katılım
26 Ekim 2022
Mesajlar
25
Excel Vers. ve Dili
Excel 2021 - TR
Merhaba,
Dener misiniz?

Bu isteğinizi gerçekleştirmek için VBA kodu kullanarak belirli kaydetme işlemlerini engelleyebiliriz. Aşağıdaki kod, "ThisWorkbook" bölümüne eklenmeli ve yalnızca CTRL + R kombinasyonu ile kaydetme işlemini aktif hale getirecektir. Diğer kaydetme komutları kullanıldığında ise bir uyarı mesajı görüntülenecektir:

  1. Alt + F11 tuşlarına basarak VBA editörünü açın.
  2. ThisWorkbook bölümüne gidin ve aşağıdaki kodu yapıştırın:
Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    ' CTRL + R ile kaydetme işlemini başlatan makro çalıştırıldıysa kaydetmeyi aktif et
    If ThisWorkbook.CustomDocumentProperties("IsSaveEnabled") = True Then
        ' Kaydetme işlemine izin ver
        ThisWorkbook.CustomDocumentProperties("IsSaveEnabled") = False
    Else
        ' Kaydetme işlemine izin verme ve mesaj göster
        Cancel = True
        MsgBox "Belgeyi kaydetmek için CTRL + R kombinasyonunu kullanınız."
    End If
End Sub

Sub SaveWorkbook()
    ' Kaydetmeyi aktif et
    ThisWorkbook.CustomDocumentProperties.Add Name:="IsSaveEnabled", _
        LinkToContent:=False, Type:=msoPropertyTypeBoolean, Value:=True
    ' Dosyayı kaydet
    ThisWorkbook.Save
End Sub
3.CTRL + R tuş kombinasyonuna bağlamak için, makroyu SaveWorkbook olarak belirlemiş olduk. Şimdi CTRL + R tuşlarına atamak için şu adımları izleyin:
  • Alt + F8 tuşlarına basarak Makro Listesi’ni açın.
  • “SaveWorkbook” isimli makroyu seçin.
  • “Seçenekler”e tıklayarak CTRL + R tuş kombinasyonunu ekleyin ve Tamam diyerek çıkın.
Bu kod sayesinde yalnızca CTRL + R kombinasyonu ile kaydedebilirsiniz; diğer yöntemler hata mesajı verecektir.
farklı kaydetmeye çalıştığımda hata mesajı geliyor ancak CTRL + R ile kaydetmeye calıstıgımda ise "System Error &H80004005 (-2147467259), Belirtilmemiş hata" şeklinde bir hata alıyorum
 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
481
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
Birde aşağıdaki kodu dener misiniz?

Bu hata, özel belge özelliklerine erişirken veya onları eklerken bir sorun olduğunu gösteriyor. Excel’de özel belge özellikleri oluşturmak bazı durumlarda hata verebiliyor, bu yüzden daha basit bir yöntemle çözüme ulaşabiliriz.

Bu yöntemde, “IsSaveEnabled” gibi bir özel belge özelliği eklemek yerine, global bir değişken kullanarak CTRL + R kombinasyonu ile kaydetmeye izin verirken, diğer durumlarda kaydetme işlemini engelleyeceğiz. Kod şu şekilde düzenlenebilir:

  1. Alt + F11 tuşlarına basarak VBA editörünü açın.
  2. ThisWorkbook bölümüne gidin ve aşağıdaki kodu yapıştırın:
Kod:
Dim IsSaveAllowed As Boolean

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    ' Eğer CTRL + R ile kaydetme işlemi başlatılmadıysa, kaydetme işlemini engelle
    If Not IsSaveAllowed Then
        Cancel = True
        MsgBox "Belgeyi kaydetmek için CTRL + R kombinasyonunu kullanınız."
    Else
        ' Kaydetme işlemine izin ver
        IsSaveAllowed = False
    End If
End Sub

Sub SaveWorkbook()
    ' Kaydetme iznini aktif et
    IsSaveAllowed = True
    ' Dosyayı kaydet
    ThisWorkbook.Save
End Sub
3.CTRL + R tuş kombinasyonuna bağlamak için, makroyu SaveWorkbook olarak belirlemiş olduk. Şimdi CTRL + R tuşlarına atamak için şu adımları izleyin:
  • Alt + F8 tuşlarına basarak Makro Listesi’ni açın.
  • “SaveWorkbook” isimli makroyu seçin.
  • “Seçenekler”e tıklayarak CTRL + R tuş kombinasyonunu ekleyin ve Tamam diyerek çıkın.
Bu kod ile, yalnızca CTRL + R kombinasyonu ile SaveWorkbook makrosu çalıştırıldığında kaydetmeye izin verilecek, diğer tüm kaydetme girişimlerinde uyarı mesajı görünecektir.
 
Katılım
26 Ekim 2022
Mesajlar
25
Excel Vers. ve Dili
Excel 2021 - TR
Birde aşağıdaki kodu dener misiniz?

Bu hata, özel belge özelliklerine erişirken veya onları eklerken bir sorun olduğunu gösteriyor. Excel’de özel belge özellikleri oluşturmak bazı durumlarda hata verebiliyor, bu yüzden daha basit bir yöntemle çözüme ulaşabiliriz.

Bu yöntemde, “IsSaveEnabled” gibi bir özel belge özelliği eklemek yerine, global bir değişken kullanarak CTRL + R kombinasyonu ile kaydetmeye izin verirken, diğer durumlarda kaydetme işlemini engelleyeceğiz. Kod şu şekilde düzenlenebilir:

  1. Alt + F11 tuşlarına basarak VBA editörünü açın.
  2. ThisWorkbook bölümüne gidin ve aşağıdaki kodu yapıştırın:
Kod:
Dim IsSaveAllowed As Boolean

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    ' Eğer CTRL + R ile kaydetme işlemi başlatılmadıysa, kaydetme işlemini engelle
    If Not IsSaveAllowed Then
        Cancel = True
        MsgBox "Belgeyi kaydetmek için CTRL + R kombinasyonunu kullanınız."
    Else
        ' Kaydetme işlemine izin ver
        IsSaveAllowed = False
    End If
End Sub

Sub SaveWorkbook()
    ' Kaydetme iznini aktif et
    IsSaveAllowed = True
    ' Dosyayı kaydet
    ThisWorkbook.Save
End Sub
3.CTRL + R tuş kombinasyonuna bağlamak için, makroyu SaveWorkbook olarak belirlemiş olduk. Şimdi CTRL + R tuşlarına atamak için şu adımları izleyin:
  • Alt + F8 tuşlarına basarak Makro Listesi’ni açın.
  • “SaveWorkbook” isimli makroyu seçin.
  • “Seçenekler”e tıklayarak CTRL + R tuş kombinasyonunu ekleyin ve Tamam diyerek çıkın.
Bu kod ile, yalnızca CTRL + R kombinasyonu ile SaveWorkbook makrosu çalıştırıldığında kaydetmeye izin verilecek, diğer tüm kaydetme girişimlerinde uyarı mesajı görünecektir.
Çok teşekkür ederim sorunsuz çalışıyor.
 
Üst