2012-10-24 42 views
8

Tôi đang cố gắng đọc một tệp vào danh sách mảng và sau đó trả về từ một hàm. chức năng tôi làm việc để đọc các tập tin vào một mảng nhưng khi tôi thử cài đặt nó vào một lỗi nó biến nói gọi thủ tục không hợp lệ hoặc đối sốVBScript Cách trả về ArrayList từ hàm

My mã tập tin đọc

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 

Gọi nó trong mã của tôi

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 

Tôi đang làm gì sai?

Trả lời

9

Hóa ra tôi cần sử dụng bộ ở đây là mã làm việc. chức năng làm việc

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 

Working Gọi

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

Đôi khi nó có thể chỉ đơn giản :). +1 cho việc tìm kiếm và đăng giải pháp của bạn. – AutomatedChaos

+1

Cảm ơn, điều đó thực sự hữu ích! – John

+0

Đẹp, tiết kiệm cuộc sống! –

Các vấn đề liên quan