[[20091111184710]] 『パスワードの文字数を指定して入力時伏字にしたい』(ふうた) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『パスワードの文字数を指定して入力時伏字にしたい。』(ふうた)

Excel2000,WindowsXP

お世話になります。VBAは初心者です。パスワードが変更できる仕様の登録フォーム用ファイルを作りたいのですが、こちらの過去ログを検索して、以下のようなコードを見つけました。
このコードを参考にしたいのですが、二つ希望したいことがあります。ひとつは、パスワードの文字数を6文字以上12文字以下に指定したいことと、パスワードを入力しているときにその文字が****のような伏字にしたいことの二つです。下のコードをどういう風に変更したらいいのでしょうか。InputBoxではなく、UserFormのTextBoxのプロパティのPasswordCherを*にすると伏字になるようですがVBAの書き方がわかりません。また、パスワードの文字数を6文字以上12文字以下に指定するコードは全然わかりません。よろしくお願いします。

sub パス()

 Dim pas As String
    pas = Application.InputBox("一応形上だけだけど、取り扱い者認証します", _
          "パスワード入力", "******")

    If pas = Worksheets("Sheet1").Range("A1").Value Then 'sht1 A1にpass
        Sheets("Sheet2").Select
    Else
        MsgBox "認証失敗です。残念でしたぁ〜(・o・)/~"
        ThisWorkBook.Close False 
    End If
 end Sub


 >****のような伏字にしたい
 Inputboxでやりたいなら、下記参照。

 MsgBox代替関数[ktMsgBox
http://www.h3.dion.ne.jp/~sakatsu/index.htm

 >UserFormのTextBoxのプロパティのPasswordCherを*にすると伏字になるようですが
 >VBAの書き方がわかりません。
 テキストボックスを選択して、左側にあるであろうプロパティウインドウの
 PasswordCherの右欄に「*」を記入するだけ。

 >文字数を6文字以上12文字以下に指定したいことと
 日本語入力については解りません。
 MaxLengthプロパティで、12を指定してやればそれ以上入力できません。
 最低文字数については、
 Len(Textbox1.value)
 とかで、文字数を数えて自分で振り分ける。

 ボタンクリックでなく、テキストボックスのイベントを使うなら、
 Private Sub TextBox1_Change() より、
 Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
 の方が適していそうです。
 BJ


 BJさん、ありがとうございました。会社へ行っていたのでわかりませんでした。です  が、VBA初心者の私には、ちょっと難しいです。

 >Inputboxでやりたいなら、下記参照。

 MsgBox代替関数[ktMsgBoxということですが、会社のPCなのでアドインのインストールはできません。

 >テキストボックスを選択して、左側にあるであろうプロパティウインドウの
 PasswordCherの右欄に「*」を記入するだけ。

 すみません自分の説明が悪かったです。上の内容は知っています。それでInputboxではなくUserFormを使ったパスワードの入力フォームを作りたいのですが自分の頭では上記に記載させてもらったコードを少しだけ会社の仕様に変更して利用させてもらうのがやっとです。なのでUserFormを使ったコードで上記のコードにあてはめてもらえないでしょうか。
よろしくお願いします。
できれば、

 >ボタンクリックでなく、テキストボックスのイベントを使うなら、
 > Private Sub TextBox1_Change() より、
 >Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
 > の方が適していそうです。

 文字数を6文字以上12文字以下に指定したいところを具体的にどうコードを記述していくのかも教えてください。(ふうた)


 >すみません自分の説明が悪かったです。上の内容は知っています。それでInputboxではなくUserForm>使ったパスワードの入力フォームを作りたいのです 

 UserFormにtextboxを配置し、プロパティウインドウの
 PasswordCherの右欄に「*」を記入するだけ。

 >文字数を6文字以上12文字以下に指定したいところを具体的にどうコードを記述していくのかも教えてください。(ふうた)
len(textbox1.txt)で文字数は取得できます。
     (SHIOJII)


(SHIOJII)さん早速の回答ありがとうございました。(ふうた)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.