Public Function BuildID(Optional size As Single = 16) As String
'
'生成为size位的字符串,默认为16位
'
    Dim str1 As String
    Dim Str2 As String
    Dim Str As String
    
    On Error Resume Next
    '生成8位随机字符串
    Randomize
    str1 = Int((99999999 * Rnd) + 1)
    If Len(str1) < 8 Then
        str1 = String((8 - Len(str1)), "0") & str1
    End If
    '从系统时间生成8位字符串
    Str2 = Format(Date, "yyyymmdd")
    
    '返回
    BuildID = Left(Str2 & str1, size)
End Function

解决方案 »

  1.   


    '产生一个字母和数字组合的随机密码
    'mylength 为密码长度
    Private Function MakePass(mylength As Integer) As String
        Dim strTemp(1 To 62) As String
        Dim i As Integer
        Dim intTemp As Integer
        
        For i = 1 To 62
        
            If i < 11 Then
                strTemp(i) = i - 1
            End If
            
            If i > 10 And i < 37 Then
                strTemp(i) = Chr(97 + i - 11)
            End If
            
            If i >= 37 Then
                strTemp(i) = Chr(65 + i - 37)
            End If
            
        Next i
        
        For i = 0 To mylength
            Randomize
            intTemp = Int((62 - 1 + 1) * Rnd + 1)
            MakePass = MakePass & strTemp(intTemp)
        Next iEnd FunctionPrivate Sub Command1_Click()
        MsgBox MakePass(10)
    End Sub
      

  2.   

    For i = 0 To mylength - 1