1

現在、Microsoft Excel で VBA ベースのアプリケーションを構築しています。

シンプルな ActiveX コントロールを使用して、ユーザー ID/パスワードを取得しました。これに関する問題は、ユーザーが activeX ラベルの「プロパティ」を表示することで、パスワードの値を表示できる可能性があることです。

ユーザーが「デザイン」モードをアクティブにしてテキストボックスの値を直接見るのを防ぐ方法はありますか? または、資格情報をシステムに保存するためのより良い方法はありますか? テキストボックスを使用する理由は、ユーザーが使用するのが簡単であるためです (値を保存できるため、ユーザー ID/パスワードを再度入力する必要なく、将来プログラムを使用できます)。維持するのも簡単です (フォーム/ポップアップは必要ありません)

ご協力ありがとうございました。

これは、シートの ID/パスワード ボックスがどのように見えるかです (activeX コントロールを使用)

問題は、ユーザーがデザイン モード -> プロパティを開くと、パスワード テキスト ボックスの値が表示されることです。

4

1 に答える 1

0

ユーザー名/パスワード システムを処理する UserForm を作成します。フォームは、VBA IDE でシートの「Visible」プロパティを「xlSheetVeryHidden」に設定することにより、ユーザー名とパスワードを非常に非表示のシートに保存できます。VBA IDE に移動して表示プロパティを変更しない限り、シートを再表示することはできません。

シートの可視性プロパティ

フォームが開いたら、そのシートの 2 つの範囲からデータを読み込みます。ユーザーが範囲名を計算してセルに値を入力することを懸念している場合は、名前マネージャーから範囲名を非表示に設定できます。

セル範囲の名前と、それらにアクセスする場所を知っているのは、VBA コードにアクセスできる人だけです。したがって、それをパスワードで保護すると、少なくとも私の見解では、Excel で作成できるのと同じくらい安全になります。

いずれにせよ、セキュリティは相対的なものです。どの程度安全である必要があるかは、データの重要性によって異なります。人々がすべきではないことをいじらないようにするだけであれば、単純なセキュリティで問題ありません。機密性の高いデータの場合は、とにかくユーザーがパスワードを保存できるようにするべきではありません。おそらくユーザー名ですが、パスワードではありません。

于 2012-07-04T04:58:38.370 に答える