Qualche idea?
Potresti inserire in una variabile vettoriale di tipo Stringa i percorsi con i nomi dei vari file, e poi far individuare di volta in volta un indice di quel vettore (e quindi un file txt specifico) dalla funzione Rnd().
Insomma una cosa come nell'esempio che segue. Ogni volta che si clicca sul Button viene effettuata una scelta casuale:
Private ss As New String[]
Private percorsoCartella As String
Public Sub Form_Open()
Dim s As String
percorsoCartella = "/percorso/della/cartella/contenente/i/file/txt"
' Di ogni nome di un file presente nella cartella...
For Each s In Dir(percorsoCartella, "*.txt", gb.File)
'...è effettuato l'inserimento insieme con il suo intero percorso in un elemento del vettore "ss":
ss.Add(percorsoCartella &/ s)
Next
End
Public Sub Button1_Click()
Dim scelta As Short
Dim testo As String
' Se nel vettore "ss" vi sono ancora elementi, e cioè
' un nome di un file con il suo intero percorso...
If ss.Count > 0 Then
'...allora si procede all'individuazione casuale di un numero
' compreso tra zero ed il numero corrispondente al numero
' di elementi "attualmente" presenti nel vettore "ss":
scelta = CShort(Rnd(0, ss.Count))
' Quindi si carica il testo del file presente nell'elemento di indice del vettore "ss"
' precedentemente individuato con la funzione Rnd().
' Si procede quindi ad eliminare quello stesso elemento con tutto il suo contenuto dal vettore:
testo = File.Load(ss.Extract(scelta, 1)[0])
Print testo
Else
' Se al vettore sono stati eliminati tutti gli elementi, allora viene sollevato un avviso:
Message.Warning("<FONT color=#B22222><B>E' stato inserito il testo di ciascun file .txt presente nella cartella: " & percorsoCartella)
Endif
End