belirlediğim bir şifreyi text dosyasındaki veriye eşitlemek

Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
sn üstadlarım herkese hayırlı günler

şu aralar lisans kodu girilerek kullanılacak bir kod yazmaya çalışıyorum.aklıma bikaç şey takıldı ve size danışmak istedim.kodlar şu şekilde;

Dim psw As String
psw = "123456789"
If psw = ThisWorkbook.Path & "\password.txt" Then
Exit Sub
Else
'...................
UserForm1.Show
End If

yani açıklamak gerekirse belirlediğim psw değeri password.txt dosyasındaki ile aynı ise exit sub,değilse kodlara devam edecek.

yardımcı olacak arkadaşlara şimdiden teşekkür ederim saygılar:yardim:
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
VB dosya işlemiyle txt nin okunması gerekir.
Bu durumda olması gereken kod;
Kod:
Dim psw As String, a As String

Open ThisWorkbook.Path & "\password.txt" For Input As #1
    Input #1, a
Close #1

psw = "123456789"
If psw = a Then
Exit Sub
Else
'...................
UserForm1.Show
End If
olmalıdır.
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
sn anemos
çok teşekkür ederim emeğinize sağlık
saygılar
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Alternatif:

Bilgisayarnızda D:\TestFolder şeklinde bir klasör açtıktan sonra;

a) Bilgisayarda bir ini dosyası oluşturmak ve bu ini dosyasına sözkonusu şifreyi yazmak için;

Kod:
Declare Function WritePrivateProfileString Lib "kernel32" _
        Alias "WritePrivateProfileStringA" _
        (ByVal lpApplicationName As String, ByVal lpKeyName As Any, _
         ByVal lpString As Any, ByVal lpFileName As String) As Long
'
Sub InıDosyasinaYaz()
    WritePrivateProfileString "MyPaswIni", "Password", "Raider", "D:\TestFolder\Password.ini"
End Sub
b) Esas şifre kontrolu yapılacak dosyada, ini dosyasından şifreyi almak-okumak için;

Kod:
Declare Function GetPrivateProfileString Lib "kernel32" Alias _
        "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
         ByVal lpKeyName As Any, ByVal lpDefault As String, _
         ByVal lpReturnedString As String, ByVal nSize As Long, _
         ByVal lpFileName As String) As Long
'
Sub InıDosyasindanOku()
    Dim RetVal As String, Temp As Long
    RetVal = String(255, 0)
    Temp = GetPrivateProfileString("MyPaswIni", "Password", "Hata", RetVal, 255, "D:\TestFolder\Password.ini")
    If Temp <> 0 Then RetVal = Left$(RetVal, Temp)
    MsgBox "Sifre = " & RetVal
End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Aynı işleri MS Word altında ve API kullanmadan çok daha kolay yapabiliyoruz;

Kod:
Sub InıYaz()
    System.PrivateProfileString("D:\TestFolder\Passw.ini", "MyPass", "Password") = "Raider"
End Sub
'
'
'
Sub InıOku()
    Passw = System.PrivateProfileString("D:\TestFolder\Passw.ini", "MyPass", "Password")
    MsgBox "Sifre = " & Passw
End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
MS Word altında API kullanmadan yapabiliyorsak, demektir ki Excel'de bir Word uygulaması oluşturup bununla da yapabiliriz ... :mrgreen:

Excel VBA altında çalışacak kodlar:

Kod:
Sub WD_InıYaz()
    Dim MyWord As Object
    Set MyWord = CreateObject("Word.Application")
    MyWord.System.PrivateProfileString("D:\TestFolder\Passw.ini", "MyPass", "Password") = "Raider"
    MyWord.Quit
    Set MyWord = Nothing
End Sub
'
'
'
Sub WD_InıOku()
    Dim MyWord As Object
    Set MyWord = CreateObject("Word.Application")
    Passw = MyWord.System.PrivateProfileString("D:\TestFolder\Passw.ini", "MyPass", "Password")
    MsgBox "Sifre = " & Passw
    MyWord.Quit
    Set MyWord = Nothing
End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sayın Haluk hocam.
Çok değerli bilgileriniz için teşekkür ederim.
Arşivime attım.
İyi çalışmalar.:)
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
harika kodlar &#231;ok te&#351;ekk&#252;r ederim
&#231;ok faydal&#305; olaca&#287;&#305;na inan&#305;yorum.
sayg&#305;lar
 
Üst