パスワード作成の話。。(続き) [コンピューター]
エマニエル婦人夫人が亡くなったとか?
式1: Int(Rnd(1#) * 26 ) ⇒ 0, 1, 2, --- 25
という式で0, 1, 2 --- 25の26通りの整数をランダムに発生させるとこまで説明しました。
で、0だったら、A、1だったらBを返すようにするためにはどうすればいいのですかね?
VBA(Visual Basic for Applications)には、ASCII(アスキー)コードを文字に変換
してくれるChr()という関数があります。
Chr(65) ⇒ 'A'
Chr(66) ⇒ 'B'
|
Chr(90) ⇒ 'Z'
英字(大)のASCII(アスキー)コードは65('A')から始まって90('Z')なので、
式1に65を足すことで、英字(大)のASCII(アスキー)コードをランダムに発生
させることができます。
式1: Int(Rnd(1#) * 26 ) ⇒ 0, 1, 2, --- 25
式2: Int(Rnd(1#) * 26 + 65) ⇒ 65, 66, 67, --- 90
さらに、式2をChr()関数で変換することで、英字(大)をランダムに発生することが
できます。
式3: Chr(Int(Rnd(1#) * 26 + 65)) ⇒ 'A', 'B', 'C', --- 'Z'
式3の26, 65の部分を変えれば、他の文字をランダムに発生させることができます。
式4: Chr(Int(Rnd(1#) * 26 + 97)) ⇒ 'a', 'B', 'c', --- 'z'
式5: Chr(Int(Rnd(1#) * 9 + 49)) ⇒ '1', '2', '3', --- '9'
式3、式4、式5を使って、英字(大)、英字(小)、数字をランダムに並べて
パスワードの文字列を作成するにはどうしたらいいでしょうか?
というのは、次回に説明します。
式1: Int(Rnd(1#) * 26 ) ⇒ 0, 1, 2, --- 25
という式で0, 1, 2 --- 25の26通りの整数をランダムに発生させるとこまで説明しました。
で、0だったら、A、1だったらBを返すようにするためにはどうすればいいのですかね?
VBA(Visual Basic for Applications)には、ASCII(アスキー)コードを文字に変換
してくれるChr()という関数があります。
Chr(65) ⇒ 'A'
Chr(66) ⇒ 'B'
|
Chr(90) ⇒ 'Z'
英字(大)のASCII(アスキー)コードは65('A')から始まって90('Z')なので、
式1に65を足すことで、英字(大)のASCII(アスキー)コードをランダムに発生
させることができます。
式1: Int(Rnd(1#) * 26 ) ⇒ 0, 1, 2, --- 25
式2: Int(Rnd(1#) * 26 + 65) ⇒ 65, 66, 67, --- 90
さらに、式2をChr()関数で変換することで、英字(大)をランダムに発生することが
できます。
式3: Chr(Int(Rnd(1#) * 26 + 65)) ⇒ 'A', 'B', 'C', --- 'Z'
式3の26, 65の部分を変えれば、他の文字をランダムに発生させることができます。
式4: Chr(Int(Rnd(1#) * 26 + 97)) ⇒ 'a', 'B', 'c', --- 'z'
式5: Chr(Int(Rnd(1#) * 9 + 49)) ⇒ '1', '2', '3', --- '9'
式3、式4、式5を使って、英字(大)、英字(小)、数字をランダムに並べて
パスワードの文字列を作成するにはどうしたらいいでしょうか?
というのは、次回に説明します。
nice! ありがとうございます。
(^_0)ノ
by cheese999 (2012-10-20 04:35)
誤:エマニエル婦人
正:エマニエル夫人
みたいですね。
(^_0)ノ
by cheese999 (2012-10-20 04:37)