randomize
[COLOR=blue]set[/color] objFSO [COLOR=blue]=[/color] CreateObject("Scripting.FileSystemObject")
[COLOR=blue]Set[/color] numberDic [COLOR=blue]=[/color] CreateObject("Scripting.Dictionary")
[COLOR=blue]set[/color] objInFile [COLOR=blue]=[/color] objFSO.OpenTextFile("C:\Temp\test.txt", 1, true, 0)
[COLOR=blue]set[/color] objOutFile [COLOR=blue]=[/color] objFSO.OpenTextFile("C:\Temp\testresults.txt", 2, true, 0)
strLines [COLOR=blue]=[/color] objInFile.ReadAll
arrLines [COLOR=blue]=[/color] split(strLines, vbNewLine)
intUpperLimit [COLOR=blue]=[/color] ubound(arrLines)
numPicks [COLOR=blue]=[/color] 10
[COLOR=green]'number of random picks must be less than or[/color]
[COLOR=green]'equal to the number of lines in the input file[/color]
[COLOR=blue]if[/color] intUpperLimit < numPicks [COLOR=blue]then[/color]
numPicks [COLOR=blue]=[/color] intUpperLimit
end [COLOR=blue]if[/color]
[COLOR=blue]Do[/color] [COLOR=blue]Until[/color] numberDic.Count [COLOR=blue]=[/color] numPicks
index [COLOR=blue]=[/color] int(rnd() [COLOR=blue]*[/color] intUpperLimit) [COLOR=blue]+[/color] 1
intRandom [COLOR=blue]=[/color] arrLines(index)
intRandom [COLOR=blue]=[/color] Trim(intRandom)
[COLOR=green]'if blank lines exist in text file, don't add them[/color]
if intRandom <> "" [COLOR=blue]then[/color]
[COLOR=green]'if the line chosen is not in the dictionary object, add it[/color]
if [COLOR=blue]not[/color] numberDic.exists(intRandom) [COLOR=blue]then[/color]
numberDic.Add intRandom, intRandom
end [COLOR=blue]if[/color]
end [COLOR=blue]if[/color]
[COLOR=blue]Loop[/color]
[COLOR=blue]for[/color] [COLOR=blue]each[/color] item [COLOR=blue]in[/color] numberDic
objOutFile.WriteLine item
[COLOR=blue]next[/color]
objInFile.close
objOutFile.close