2012-10-24 5 views
8

Próbuję odczytać plik na listę tablic, a następnie zwrócić go z funkcji. Moja funkcja działa odczytać pliku do tablicy, ale gdy próbuję ustawienie go do zmiennej błędów niej mówiąc nieprawidłowej wywołanie procedury lub argumentuVBScript Powrót na górę ArrayList Od funkcji

mojego kodu plik odczytu

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 

nazywając go w moim kodu

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 

Co robię źle?

Odpowiedz

9

Okazuje się, że muszę użyć zestawu tutaj jest działający kod. funkcja robocza

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 

połączeń robocza

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

Czasami może to być tylko takie proste :). +1 za znalezienie i opublikowanie rozwiązania. – AutomatedChaos

+1

Dzięki, to naprawdę pomogło! – John

+0

Miło, ratownik! –