InputBoxのエントリを非表示にする(Microsoft Excel)
Andrewはマクロを作成しており、マクロが提供する特定の機能の使用を許可する前に、ユーザーにパスワードを入力する機会を与えたいと考えています。彼はInputBox関数を使用していて、誰かが入力したものを「打ち消す」方法があるかどうか疑問に思っているので、パスワードは入力時に非公開にされます。 (これは多くのプログラムで行われ、入力されたものはすべて画面上でアスタリスクまたはその他の文字に置き換えられます。)
InputBox関数を使用してこれを行う直接的な方法はありません。必要な機能が含まれていません。 API呼び出しなどを使用してそれを行った人もいますが、それはかなり複雑になり、おそらく_ExcelTips_の範囲を超えています。
より簡単なアプローチは、VBAで独自のユーザーフォームを作成することです。フォームにはTextBoxを含めることができ、コントロールには、誰かがパスワードを入力したときにマスキング文字として機能するように設定できるプロパティが含まれています。 TextBoxコントロールのプロパティウィンドウを表示すると、PasswordCharという名前のプロパティが表示されます。これを、マスキングに使用する文字に設定します。たとえば、プロパティに1つのアスタリスクを付けることができます。
ユーザーが正しいパスワードを入力したかどうかを確認するときは、TextBoxコントロールの値を確認するだけです。画面上のバージョンはマスクされたままですが、「クリア」(マスクされていない)になります。つまり、誰かがパスワードとして「MyPass」を入力した場合、それはコントロール自体に関連付けられた値です。
ただし、画面に表示されるのは、入力した文字ごとに1つずつ、6つのアスタリスク(または指定したマスキング文字)です。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(3120)は、Microsoft Excel 97、2000、2002、および2003に適用されます。