excel dosyasını kaydetmek için şifre isteme

Katılım
21 Eylül 2006
Mesajlar
91
Excel Vers. ve Dili
ver:2003 dil:ing
arkadaşlar çalışma sayfamızın üzerine veri girdikten sonra kaydet butonuna basıldığında şifre istemesi yapılabilirmi bir başka ifade ile şifre girişi yapılamadan var olan excel dosyasının üzerindeki değişikliklerin kaydedilmemesi yapılabilirmi
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
Aşağıdaki kodu Excel Dosyanızın ThisWorkbook kod editörüne yazınız.
Kaydetmek isteyene şifre soracak eğer şifreyi bilirse kaydedecek bilemezse kaydetmeyecek.
Aşağıda şifre=123
olarak ayarlanmıştır dilerseniz değiştirebilirsiniz.

Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Not InputBox("Şifre giriniz") = "123" Then
        MsgBox "Şifre yanlış dosya kaydedilemedi"
        Cancel = True
    End If
End Sub
 
Katılım
21 Eylül 2006
Mesajlar
91
Excel Vers. ve Dili
ver:2003 dil:ing
teşekkür

sayın alpi ilginiz için çok teşekkür ediyorum kesinlikle şimi gördü
 
Katılım
10 Ağustos 2005
Mesajlar
58
Excel Vers. ve Dili
2003 Türkçe
Altın Üyelik Bitiş Tarihi
30/01/2022
word belgemde şifreyi bilen değişiklik yapabilsin, kaydete basıldığında şifre sorsun istiyorum. Sn alpinin vermiş olduğu kod word belgesi için nasıl olmalı? Teşekkürler
 
Son düzenleme:
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
Aynı işlemi Word ile yapmak için maalesef standart bir kayıt olayı yok bu olayıda dosyamıza eklememiz gerekiyor.

Aşağıdaki kodu Word Dosyanızın ThisDocument kod editörüne yazınız.

Kod:
Option Explicit
Dim KayıtKontrol As New Class1
Private Sub Document_Open()
    Set KayıtKontrol.Kayıt_Kontrol = Word.Application
    KayıtKontrol.DosyaAdı = ThisDocument.Name
End Sub
Insert/Class Module yi seçerek yeni bir class ekleyiniz. Eklediğiniz Classs a aşağıdaki kodu yazınız

Kod:
Option Explicit
Public WithEvents Kayıt_Kontrol As Application
Public DosyaAdı As String
Private Sub Kayıt_Kontrol_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
    If Not Doc.Name = DosyaAdı Then Exit Sub
    If Not InputBox("Şifre giriniz") = "123" Then
        MsgBox "Şifre yanlış dosya kaydedilemedi"
        Cancel = True
    End If
End Sub
Şifre yine 123 olarak ayarlanmıştır dilerseniz şifreyi değiştirebilirsiniz.
 
Katılım
10 Ağustos 2005
Mesajlar
58
Excel Vers. ve Dili
2003 Türkçe
Altın Üyelik Bitiş Tarihi
30/01/2022
teşekkürler sn alpi, elinize sağlık.
 
Katılım
28 Kasım 2006
Mesajlar
56
Excel Vers. ve Dili
excell 2010 türkçe
İlave soru

peki şifrenin *** şeklinde görünmesini sağlamak için koda bir ilave yapmak gerekir mi?
 
Katılım
28 Kasım 2006
Mesajlar
56
Excel Vers. ve Dili
excell 2010 türkçe
ilave soru

peki şifrenin *** şeklinde görünmesini sağlamak için koda bir ilave yapmak gerekir mi?
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
İnputbox içindeki metin kutusu için *** karakteri kullanılamıyor fakat dilersek bunu API yardımı ile yapabiliriz.
Bence çok daha pratik bir yolu daha var. İnputbox yerine bir UserForm tasarlayın ve iletişim kutusu olarak kullanın bence daha güzel olacaktır. Hem böylelikle TextBox nesnesinde *** işaretlerini kolayca gösterebilirsiniz.
 
Son düzenleme:
Üst