2017-06-02 2 views
0

Ich habe ein Excel-Add-In, das ich baue, die Benutzereinstellungen in einem Settings Arbeitsblatt innerhalb des Add-Ins speichert. Ich benutze das Blatt im Wesentlichen als Speicher für boolesche Werte und möglicherweise die Registrierungsdetails des Benutzers.Arbeitsblatt in Excel-Add-In aus anderen VBA-Projekten ausblenden

Wenn ich jedoch ein neues VBA-Projekt öffne und das Add-In als Referenz einfüge (In VBA: Tools > References > MY Add-In), kann ich auf das Arbeitsblatt Settings zugreifen und möglicherweise das Kennwort beschädigen und die Registrierungsdetails hacken.

Das Settings Blatt ist auf xlVeryHidden eingestellt, aber es kann über VBA-Code zugegriffen werden. Gibt es das eh in Excel zu verhindern? In einem Modul zum Beispiel kann ich die Option Private Module Methode verwenden.

Antwort

0

Wenn Sie das Projekt mit einem Kennwort schützen und sperren, können Ihr Code und die Arbeitsblattobjekte nicht angezeigt werden. Gehen Sie zu Extras> VBAObject-Eigenschaften> Registerkarte Schutz, aktivieren Sie dann 'Projekt zum Anzeigen sperren' und legen Sie ein Passwort in 'Passwort zum Anzeigen der Objekteigenschaften' fest.

Allerdings gibt es nichts von einem Hacker zu stoppen ...

For s = 1 to Sheets.Count 
    Sheets(s).visible = True 
Next s 

... Ihre Einstellungen Seite zu sehen.

Es gibt ein paar Optionen:

1) haben die Einstellungen Blatt in einer separaten Arbeitsmappe oder ein anderes Format wie .txt und von diesem gelesen werden (empfohlen).

2) Verwenden Sie eine Art von Verschlüsselung in Ihrer Einstellung Blatt und entschlüsseln Sie es in Ihrem Code, ein wirklich einfaches Beispiel ist die Verwendung von Zahlen anstelle von Text so 'Beispiel' würde = '5,24,1,13,16 , 12,5 ', aber offensichtlich möchten Sie etwas anspruchsvolleres als, und Sie können online nach vielen Möglichkeiten suchen, um es zu tun.

3) Verwenden Sie 2, aber speichern Sie den Entschlüsselungscode woanders.

Beachten Sie jedoch, dass für jemanden, der weiß, was sie tun, gibt es wirklich keine Möglichkeit zu prevent a VBA hack, es sei denn, Sie verwenden Option 1/3 und haben eine Möglichkeit, die Datei irgendwo nicht öffentlich zugänglich zu speichern.

Verwandte Themen