Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6321 / 76734 ←次へ | 前へ→

【76014】パスワード生成時に数字1つ(0から9のいずれか)を含めて パスワード生成したい
質問  初心者  - 14/8/20(水) 20:03 -

引用なし
パスワード
   パスワード生成時に必ず数字を含めてパスワードを生成したい

下記マクロで実行しておりますが、生成されるパスワードに数字が含まれない場合があります 
生成されるパスワードに数字を含めたいのですが、
どのようにすれば良いでしょうか?
ご教授下さい

EXCEL2010を利用しております

Sub Macro1()
Const DEFAULT_COLS = 8 ' パスワードの桁数
Const DEFAULT_NUM = 1 ' パスワードの個数
Dim cols As Integer
Dim num As Integer
Dim chars As String, password As String
Dim upper As Integer, pointer As Integer, i As Integer

Set MenuSheet = Worksheets("MENU")
Set PasswordSheet = Worksheets("password")

' パスワードの桁
cols = MenuSheet.Range("COLS").Value
If cols < 1 Then
cols = DEFAULT_COLS
End If

' パスワードの個数
num = MenuSheet.Range("NUM").Value
If num < 1 Then
num = DEFAULT_NUM
End If

' 文字種類
kind = MenuSheet.Range("KIND").Value
Select Case kind

Case "英字": chars = "abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
Case "数字": chars = "0123456789"
Case "記号": chars = "!#$%&@?\+-_"
Case Else: chars = "abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%&@?\+-_"

End Select
upper = Len(chars)

PasswordSheet.Activate
PasswordSheet.Range("A:B").ClearContents ' 前回の結果を消去
PasswordSheet.Range("A1").Value = "No."
PasswordSheet.Range("B1").Value = "パスワード"

For j = 1 To num
password = ""
Randomize
For i = 1 To cols
pointer = Int(Rnd * upper) + 1
password = password + Mid(chars, pointer, 1)
Next

PasswordSheet.Cells(j + 1, 1).Value = j
PasswordSheet.Cells(j + 1, 2).Value = password

Next


End Sub

最後まで見てくださりありがとうございました
宜しくお願い申し上げます

2 hits

【76014】パスワード生成時に数字1つ(0から9のいずれか)を含めて パスワード生成し... 初心者 14/8/20(水) 20:03 質問
【76015】Re:パスワード生成時に数字1つ(0から9のい... kanabun 14/8/20(水) 20:39 発言
【76016】Re:パスワード生成時に数字1つ(0から9のい... γ 14/8/20(水) 20:51 発言
【76017】Re:パスワード生成時に数字1つ(0から9のい... kanabun 14/8/20(水) 21:32 発言
【76018】Re:パスワード生成時に数字1つ(0から9のい... γ 14/8/20(水) 21:33 発言
【76019】Re:パスワード生成時に数字1つ(0から9のい... 独覚 14/8/21(木) 6:53 発言

6321 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free