-
영문, 숫자, 특수문자의 숫자를 지정하고
그만큼 문자를 생성하는 매크로
해외에서 짜깁기.
Function RandomPass(lowerCase As Integer, NumericChr As Integer, SpecialChr As Integer) As StringDim i As ByteDim v As VariantDim NonAlpha As Variant' Set Non-alpha characters to choose fromNonAlpha = Array("~", "@", "#", "$", "%", "^", "&", "*", "(", ")", "+", "?")For i = 1 To SpecialChrRandomPass = RandomPass & NonAlpha(Int((UBound(NonAlpha) - LBound(NonAlpha) + 1) * Rnd + LBound(NonAlpha)))Next i' Set Numeric characterReDim v(48 To 57)For i = 1 To NumericChrRandomPass = RandomPass & Chr(Int((UBound(v) - LBound(v) + 1) * Rnd + LBound(v)))Next i' Set lower case characterReDim v(97 To 122)For i = 1 To lowerCaseRandomPass = RandomPass & Chr(Int((UBound(v) - LBound(v) + 1) * Rnd + LBound(v)))Next iRandomPass = ScrambleWord(RandomPass)End FunctionFunction ScrambleWord(ByRef orderedWord As String) As StringDim temp As StringDim i As Long, RandChr As LongFor i = 1 To Len(orderedWord)RandChr = Int(Rnd() * Len(orderedWord)) + 1temp = Mid(orderedWord, i, 1)Mid(orderedWord, i, 1) = Mid(orderedWord, RandChr, 1)Mid(orderedWord, RandChr, 1) = tempNext iScrambleWord = orderedWordEnd Functioncs 'VB(A)' 카테고리의 다른 글
정규식을 이용한 텍스트 변경 (2) 2015.11.08 경우의 수 (0) 2015.11.06 두가지 조건을 만족하는 값 나열 (0) 2015.10.16 체크박스로 시트 보호 해제 및 셀 잠금 해제 (0) 2015.10.14 숫자 섞기 (0) 2015.10.02 댓글