VB随机姓名抽取器的源码

如题所述

首先你要有一个.txt文本格式的人员名单,一行一个人名,然后在下面的程序中更改名单路径、抽取人数就可以了

Option Explicit

Private Sub Command1_Click()
Dim nameArr(), mPath$, n%, k%, newDic, Temp$
mPath = "d:\Name.txt" '原始名单路径,每行一人
k = Int(InputBox("抽取的人数:")) '抽取的数目
'加载原始名单
Open mPath For Input As #1
Do While Not EOF(1)
n = n + 1
ReDim Preserve nameArr(1 To n)
Line Input #1, nameArr(n)
Loop
Close #1
'抽取人员
Set newDic = CreateObject("scripting.dictionary")
Do While newDic.Count < k
Randomize
Temp = nameArr(Int(Rnd * (UBound(nameArr) + 1)))
If newDic.Exists(Temp) = False Then newDic.Add Temp, ""
Loop
'输出
Temp = Join(newDic.keys, ", ")
Print n & "名人员中," & k; "名被抽取,名单如下:" & vbCrLf & Temp
newDic = ""
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-31
这个其实是很简单的,主要是要看你的“姓名”数据是怎样保存的、即姓名数据库的格式是怎样的,然后才能进行编程。

VB随机姓名抽取器的源码
首先你要有一个.txt文本格式的人员名单,一行一个人名,然后在下面的程序中更改名单路径、抽取人数就可以了 Option Explicit Private Sub Command1_Click()Dim nameArr(), mPath$, n%, k%, newDic, Temp mPath = "d:\\Name.txt" '原始名单路径,每行一人 k = Int(InputBox("抽取的人数:...

用VB编程 随机抽取姓名
End Type Private Sub Command1_Click() '写入数据 Dim stu As student Open "d:\\student.txt" For Random As #1 Len = Len(stu)For i = 1 To 60 stu.name = InputBox("请输入姓名")Put #1, i, stu Next i Close #1 End Sub Private Sub Command2_Click() '抽取 Randomize Dim bb...

怎么用vb编个随机抽取人名的小程序,做到不重复并能直接打印显示已抽到...
Text2 = a(n) '数组抽第n数由于数组随机排列所相于随机数并且重复 End Sub

用VB做一个姓名随机抽取的软件 但是 名字不能重复抽取谢谢
Dim i As Long, n As Long, y As Long, x As Long, a() As Integer y = List1.ListCount n = Val(Text1.Text) '获取输入的数量,text1可以自己改 If n < 1 Then Exit Sub '输入数量不能为0 If y < n Then Exit Sub '抽取数量不能为大于已经存在姓名列表 Rando...

用vb编写了这个随机抽取人名的程序,要求一个文本框,一个按钮
Dim xm, n As IntegerPrivate Sub Command1_Click() Static k k = k + 1 If k Mod 2 = 1 Then Timer1.Interval = 20 Command1.Caption = "停" Else Timer1.Interval = 0 Command1.Caption = "开始" End IfEnd SubPrivate Sub Form_Load() xm = Array("张三...

如何用VB设计随机抽取人名程序?
'ss(1)="zhangsan"'ss(2)="lisi"'vb中随机函数'Int((upperbound - lowerbound + 1) * Rnd + lowerbound)这里,'upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。RandomizeMyValue = Int((rnd * (UBound(ss) - 1 + 1)) + 1)MsgBox ss(MyValue)End Sub ...

用VB 做一个随机抽名字。随机从所有人名字里中选取4个人的名字,这4个...
Loop1: temp = Int(Rnd * 20) '抽取随机人员 For Each x In n ' 用跳转实现无重复有效性验证 If temp = x Then GoTo Loop1 Next n(i) = temp Next Timer1.Enabled = 0 Label1.Caption = "中奖人员名单 " & vbCrLf & sName(n(0)) & vbCrLf & sName(n(1)) & vbCrLf...

用VB编程,随机抽取两个人的姓名?
先在窗体上添加一个按钮和一个列表 把以下代码写入按钮的Click事件中,单击按钮就可以看到运行结果 Private Sub Command1_Click()Dim NameList As New Collection '把参与抽取的名字添加到名字集合中 NameList.Add "姓名01"NameList.Add "姓名02"NameList.Add "姓名03"NameList.Add "姓名04"NameList.Add...

用VB写一个滚动抽人名记录下来不能重复的软件 求大神们帮帮忙!_百度知 ...
* NameMax) + 1 Label1.Caption = RName(CurrentI) DoEvents Label1.Refresh Form1.Refresh End Sub 以上是代码,附件里有工程文件,可以满足你的要求,姓名可以保证在程序里,不容易被修改,用的都是常用控件,richtextbox控件应该也有吧,如果没有,用textbox也一样 ...

求VB编写的一个学生姓名随机抽取程序
你的功能我可以帮你实现,并且还可以实现随机抽取的记录保证不一样,当然了编码的时候用随机函数生成一个学生号,再根据编号判断是否重复,不重复信息将实时显示出来,以下是关键代码,如果你调试通过,则你太幸运了,哈哈,希望能帮到你吧,当时费了好多脑细胞才编写出来 我的程序例子将发布在csdn博客上...

相似回答