2012-10-24 11 views
8

Sto provando a leggere un file in un elenco di array e quindi restituirlo da una funzione. La mia funzione è di leggere il file in un array, ma quando provo a impostarlo su un'errori che esso variabili che dicono non valida la chiamata di procedura o argomentoVBScript Come restituire ArrayList dalla funzione

Il mio codice di file di lettura

function readfile(strFile) 
dim fs,objTextFile 
set fs=CreateObject("Scripting.FileSystemObject") 
dim arrStr 
set objTextFile = fs.OpenTextFile(strFile) 
Set userArrayList = CreateObject("System.Collections.ArrayList") 

Do Until objTextFile.AtEndOfStream 
strNextLine = objTextFile.Readline 
userArrayList.add strNextLine 
Loop 

objTextFile.Close 
set objTextFile = Nothing 
set fs = Nothing 

readfile = userArrayList 
end function 

Chiamarlo nel mio codice

arr = readfile("\\dc1\NETLOGON\Scripts\Add_Users\user.csv") 

For Each present In arr 
user = split(present,",") 
WScript.Echo user(0) & user(1) & user(2) & user(3) & user(4) & "|" 
Next 

Cosa sto sbagliando?

risposta

9

Risulta che ho bisogno di utilizzare set qui è il codice di lavoro. funzione di lavoro

function readfile(strFile) 
dim fs,objTextFile 
set fs=CreateObject("Scripting.FileSystemObject") 
dim arrStr 
set objTextFile = fs.OpenTextFile(strFile) 
Set userArrayList = CreateObject("System.Collections.ArrayList") 

Do Until objTextFile.AtEndOfStream 
strNextLine = objTextFile.Readline 
userArrayList.add strNextLine 
Loop 

objTextFile.Close 
set objTextFile = Nothing 
set fs = Nothing 

set readfile = userArrayList 
end function 

di lavoro chiamata

Dim arr 
set arr = readfile("\\dc1\NETLOGON\Scripts\Add_Users\user.csv") 
For Each present In arr 
user = split(present,",") 
WScript.Echo user(0) & user(1) & user(2) & user(3) & user(4) & "|" 
'WScript.Echo present & "|" 
Next 
+4

volte potrebbe essere proprio così semplice :). +1 per trovare e pubblicare la tua soluzione. – AutomatedChaos

+1

Grazie, mi ha davvero aiutato! – John

+0

Bello, risparmiatore di vita! –

Problemi correlati