excel şifreleme ve güvenlik kodu

Katılım
11 Kasım 2006
Mesajlar
37
Excel Vers. ve Dili
ofis xp
http://www.excel.web.tr/showthread.php?p=145756#post145756
yukardaki adreste bir örnek uygulama gördüm

ancak userform açılıyor kullanıcı kodu girmemiz gerek oraya kadar tamam

ancak alt+f4 yapınca kapanıyor dolayısıyla sayfaya kullanıcı kodu girmeden ulaşabiliyoruz

alt+f4 yapıncaa kapanmamasını nasıl sağlarız
şimdiden teşekkürler



iyi günler
exelde bir içinde makrolar olan bir program yazdım
ancak bu exel dosyasına şifre koymak istiyorum
ancak her bilgisayarda farklı şifre vermesini istiyorum random olarak
yani başka bir bilgisayara kopyalanmasını önlemek için
bunu nasıl yapabiliriz
daha açıkçası exel dosyası bir bilgisayara kopyalandığı zaman random bir güvenlik kodu atayacak bu güvenlik kodu alacam ben ve kullanıcıya açılış şifresini verecem böylece exel dosyası çalışacak
bunun için bana yol gösterebilirmisiniz yada farklı fikirleriniz varsa paylaşırmısınız
saygılar iyi çalışmalar

ben bunun bir örneğini visualbasic te yapmıştım aynı olayı exelde de yapmak istiyorum
 
Son düzenleme:

Suskun

Altın Üye
Altın Üye
Katılım
27 Kasım 2006
Mesajlar
292
Excel Vers. ve Dili
Excel 19
Altın Üyelik Bitiş Tarihi
24.05.2032
Aşağıdaki prosedurü kullanabilirsiniz.

Option Explicit

Declare Function GetVolumeInformationA Lib "kernel32" _
(ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As String, _
ByVal nVolumeNameSize As Long, _
lpVolumeSerialNumber As Long, _
lpMaximumComponentLength As Long, _
lpFileSystemFlags As Long, _
ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Long) As Long

Dim wsSheet As Worksheet


Sub SeriNo()
Dim SerialNumber As Long
Dim CText
Application.ScreenUpdating = False

GetVolumeInformationA "C:\", vbNullString, 0, SerialNumber, _
0, 0, vbNullString, 0
'Config sayfasının a1 hücresine bilgisayarın seri nosunu kaydeder.
If Sheets("Config").Range("A1") = "" Then
Sheets("Config").Range("A1").Value = SerialNumber
ActiveWorkbook.Save
End If
'Seri no ile çalışılan bilgi sayarın seri no eşit değilse
If Sheets("Config").Range("A1") <> SerialNumber Then
'Stok.xls dosyasını kaydetmeden kapat.
Workbooks("Stok").Close SaveChanges:=False

End if
Application.ScreenUpdating = True
End Sub
 
Katılım
24 Ekim 2006
Mesajlar
81
Excel Vers. ve Dili
excel 2002 türkçe
buyrun

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub



userformyn queryclose olayına bu kodu yapıştırınız sorununuz çözülmüşş olucak..
umarım yardımcı olabilmişizdir.iyi çalışmalar
 
Üst