2017-06-02 11 views
0

アドイン内のSettingsワークシートにユーザー設定を格納するExcelアドインがあります。私は実質的にブール値の記憶域として潜在的にユーザーの登録の詳細としてSettingsシートを使用します。他のVBAプロジェクトのExcelアドインでワークシートを非表示

しかし、新しいVBAプロジェクトを開き、アドインを参照(VBAの場合:Tools > References > MY Add-In)に含めると、Settingsワークシートにアクセスし、その上でパスワードを破棄して登録の詳細をハッキングする可能性があります。

SettingsシートはxlVeryHiddenに設定されていますが、VBAコードでアクセスできます。とにかくExcelでこれを防ぐには?たとえば、モジュールではOption Private Moduleメソッドを使用できます。

答えて

0

プロジェクトをパスワードで保護してロックすると、コードとワークシートオブジェクトを表示できません。 [ツール]> [VBAObjectのプロパティ]> [保護]タブに移動し、[表示するプロジェクトをロックする]にチェックを入れ、[オブジェクトのプロパティを表示するパスワード]にパスワードを設定します。

しかし、あなたのセッティングシートを参照してください...

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

...からハッカーを停止するには何もありません。

いくつかのオプションがあります:

1)別々のワークブックの設定シートを持っている、または.txtのようないくつかの他の形式とそれから読み取るには(推奨)。

2)あなたの設定シートで何らかの暗号化を使用し、それをあなたのコードで解読すると、本当に簡単な例はテキストの代わりに数字を使うことです。 'example' = = '5,24,1,13,16 = 、12,5 'ですが、明らかにあなたはそれより洗練されたものを採用したいと思っています。オンラインでさまざまな方法で検索できます。

3)2を使用しますが、復号化コードは別の場所に保管してください。

あなたが何をしているのかを知っている人は、実際にはprevent a VBA hackにアクセスできません。オプション1/3を使用しない限り、ファイルを一般にアクセスできない場所に格納する方法はありません。

関連する問題