verifica seria hard disk pentru deschidere excel

Ce este nou in Microsoft Excel 2010?
Informatii despre cum se utilizeaza Microsoft Excel 2010
Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
axel
Mesaje: 35
Membru din: Dum Iul 28, 2019 8:25 am

verifica seria hard disk pentru deschidere excel

Mesaj de axel » Dum Ian 17, 2021 9:37 pm

Buna tuturor,
vreau sa aduc in atentia voastra o problema dar in acelasi timp si un cod VBE, interesant de securizare a foilor Excel.
Ce face acest cod?
La deschiderea unei foi excel, acesta compara seria hard diskului instalat in laptop, PC, cu seria aceluiasi HDD, pe care noi o avem ascunsa intr-un fisierul "test.dll" lansat pe Desktop. ( clar ca in mod practic nu vom lasa fisierul intr-un loc atat de vizibil)
La rularea scriptului (sper sa fie corecta exprimarea tehnica) daca aceste 2 serii nu sunt identice fisierul excel nu poate fi deschis.
Pentru cei care au foi Excel in calculatoare expuse si nu vor sa fie deschise pe alte PC-uri, acest cod e util in a bloca folosirea lor.
Partea neplacuta este ca la acel calculator trebuie sa "spunem" codului seria hard diskului pentru a putea fi deschis si este un proces mai anevois.
Problema care o ridic si solicit ajutor, este ca partea de securizare cu seria hard, sa fie inlocuita, iar fisierul "test.dll" in loc de seria hardiskului sa contina cuvantul "securitate".
Codul il voi copia mai jos.
Multumesc!

Private Sub Workbook_Open()

Dim securityFilePath As String

securityFilePath = "C:\Desktop\test.dll"

If Dir(securityFilePath) <> "" Then

Dim oneChar
Dim seriaHddFromFile

Open securityFilePath For Input As #1 ' Open file.

Do While Not EOF(1) ' Loop until end of file.
oneChar = Input(1, #1) ' Get one character.
seriaHddFromFile = seriaHddFromFile & oneChar

Close #1 ' Close file.

If HDSerialNumber = seriaHddFromFile Then
'licenta e ok
Else
Application.DisplayAlerts = False
Application.Quit
End If
Else
Application.DisplayAlerts = False
Application.Quit
End If
End Sub

Scrie răspuns

Înapoi la “Intrebari despre Excel 2010”