2012-10-24 5 views
8

ファイルを配列リストに読み込み、関数からそれを返そうとしています。 私の関数は配列にファイルを読み取るために動作しますが、私は私のコードでそれを呼び出すと、無効なプロシージャ呼び出しまたは引数VBScript関数からArrayListを返す方法

私の読み取りファイルのコード

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 

を言っ変数それエラーにそれを設定しようとすると

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 

私は間違っていますか?

答えて

9

私はここで働くコードを使用する必要があります。 ワーキング機能

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 

ワーキングコール

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

時にはそれだけでは、単純な:)である可能性があります。あなたのソリューションを見つけて投稿するための+1。 – AutomatedChaos

+1

本当に助けてくれてありがとう! – John

+0

ニース、人生節約! –

関連する問題