|
▼初心者 さん:
>生成されるパスワードに数字を含めたいのですが、
>どのようにすれば良いでしょうか?
これは
>' 文字種類
>kind = MenuSheet.Range("KIND").Value
>Select Case kind
>
>Case "英字": chars = "abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
>Case "数字": chars = "0123456789"
>Case "記号": chars = "!#$%&@?\+-_"
>Case Else: chars = "abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%&@?\+-_"
>
>End Select
文字種類が 「英字」とか「記号」だったら、何回作っても数字は混じって
こないから、文字種類が
>Case Else
のばあいを言ってるんですよね?
そのばあいだったら、数字が入るまでパスワード生成を繰り返せばいいのでは?
For j = 1 To num
password = Space$(cols) 'パスワードの桁数分のスペース
Randomize
k = 0
Do
For i = 1 To cols
pointer = Int(Rnd * upper) + 1
Mid(password, i, 1) = Mid(chars, pointer, 1)
Next
k = k + 1
Loop Until password Like "*#*"
With PasswordSheet.Cells(j + 1, 1)
.Range("A1").Value = j
.Range("B1").Value = password
.Range("C1").Value = k '参考のため 繰り返した回数
End With
Next
|
|