文書番号: 401689
最終更新日: 2003/05/28
<エディット 5> はダイアログ ボックスの外側に存在します。このようなオブジェクトは「オブジェクトとしては存在するが表示されず、入力が可能なオブジェクト」となります。この機能を利用してパスワード入力が可能となります。また、<エディット 4> はデフォルトの設定状態ではそのままパスワード (文字列) の入力が可能となってしまいますが、これをダイアログ ボックス実行時に Enable プロパティを False に設定することで入力不可の状態にしています。
Sub Form1_Load()
'エディット ボックスの初期文字列の設定
ActiveDialog.EditBoxes("エディット 4").Text = "|"
ActiveDialog.EditBoxes("エディット 5").Text = ""
'<エディット 4> に制御が移らないように設定
ActiveDialog.EditBoxes("エディット 4").Enabled = False
'ダイアログ ボックスのフォーカスを設定
ActiveDialog.Focus = "エディット 5"
End Sub
Sub Edit5_Change()
Dim SetText, InputText As String
'<エディット 5> に入力された文字列の取得
InputText = ActiveDialog.EditBoxes("エディット 5").Text
'<エディット 4> に表示する「*」の作成
If Len(InputText) = 0 Then
SetText = "|"
Else
SetText = String(Len(InputText), "*") & "|"
End If
'<エディット 4> に「*」を表示
ActiveDialog.EditBoxes("エディット 4").Text = SetText
End Sub
Sub DlgSamp()
'ダイアログ ボックスの表示
DialogSheets("Dialog1").Show
'入力されたパスワードの表示
MsgBox DialogSheets("Dialog1").EditBoxes("エディット 5").Text
End Sub
Keywords: KBHOWTO KB401689
Technology: kbExcel500 kbExcelSearch kbExcelWinSearch