Código fuente del extractor de nombres aleatorios de VB
Opción Explícita
Private Sub Command1_Click()
Dim nameArr(), mPath$, n%, k%, newDic, Temp$
mPath = "d:\Name.txt" 'Ruta de la lista original, una persona por línea
k = Int(InputBox("Número de personas extraídas.")) 'La cantidad de personas extraídas: ") 'La cantidad de personas extraídas
'Cargar la lista original
Abrir mPath para la entrada como #1
Hacer mientras no sea EOF(1)
n = n + 1 p>
ReDim Preservar nameArr(1 To n)
Entrada de línea #1, nameArr(n)
Bucle
Bucle
Cerrar # 1
'Extraer persona
Establecer newDic = CreateObject("scripting.
Hacer mientras newDic.Count < k
Aleatorizar p>
Temp = nameArr(Int(Rnd * (UBound(nameArr) + 1)))
Si newDic.Exists(Temp) = False Entonces newDic.Add Temp(Int(Rnd * ( UBound(nameArr) + 1 )))
Si newDic.Exists(Temp) = False, entonces newDic.Exists(Temp) = False Agregar temperatura, ""
Bucle<. /p>
'Salida
Temp = Join(newDic.keys, ", ")
Imprimir n & "De los nombres, " & k "los nombres eran dibujado y la lista es la siguiente :" & vbCrLf & Temp
newDic = ""
End Sub