ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 利用VBA根据给定字符范围生成随机密码

利用VBA根据给定字符范围生成随机密码

作者:绿色风 分类: 时间:2022-08-18 浏览:127
楼主
kevinchengcw
利用VBA的随机函数及利用数组装载给定的字符范围,可以很容易的生成随机密码,代码如下:
  1. Sub test()
  2. Dim Arr
  3. Dim N As Integer
  4. Dim Str As String
  5. Arr = Split("+,/,<,>,*,\,#,-,0,1,2,3,4,5,6,7,8,9", ",")   '装载可用字符
  6. Str = ""  '初始化变量为空值
  7. For N = 1 To 21   '这里是控制生成密码位数的循环
  8.     Str = Str & Arr((Rnd * 1000) Mod (UBound(Arr) + 1))   '根据得到的随机值与1000的乘积与数组成员个数的相除余数取得对应的成员字符,并串接起来
  9. Next N
  10. MsgBox Str, vbOKOnly, "随机密码"   '用消息框显示出随机字符串内容
  11. End Sub


详情参见附件
随机取数.rar
2楼
wise
Q:如何用VBA编写一个含有大小写字母和数字的随机密码?
A:ALT+F11→插入模块→输入以下代码:
Sub test()
'定义各变量
Dim str As String, i As Integer, Password As String
'把26个小写字母、26个大写字母及10个数字字符串赋予给str
str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
'循环10次
For i = 1 To 10
'随机提取str中的10个随机出现字符
    Password = Password & Mid(str, Int(Rnd * 62) + 1, 1)
Next
MsgBox Password
End Sub
3楼
lrlxxqxa
初始化密码为空值那一步起到什么作用呢?为什么1楼的有,2楼的没有

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap