2016-08-16 3 views
1

私はtxtファイルを1行ずつ読み込み、キーワードを検索しています。キーワードを見つけると、後で使うために配列に入れています。しかし、私は自分のダイナミックアレイの問題を抱えています。 txtファイルにキーワードが含まれていない場合でも、配列には空のスペースが2つ表示され、空の文字列で埋められます。私は動的配列を間違って埋めるのですか?ここに私のコードの移植です:ダイナミックアレイでVBScriptが発生する

Dim fso, inputFile, outputFile, notFound(), PortTransferError() 
Const outPut = "out.txt" 

Set fso = CreateObject("Scripting.FileSystemObject") 
Set input = fso.OpenTextFile("file.txt") 
Set outputFile = fso.CreateTextFile(outPut) 

i = 0 
Do Until input.AtEndOfStream 
    line = input.Readline 
    Redim Preserve notFound(i) 
    Redim Preserve PortTransferError(i) 
    If InStr(line, "Couldn't Find:") Then 
     notFoundError(i) = line 
     i = i + 1 
    ElseIf InStr(line, "Cannot Transfer to Port: ") Then 
     PortTransferErrorr(i) = line 
     i = i + 1 
    End If 
Loop 


input.Close 

For each item in notFound 
    outputFile.Write(item) 'empty string vals in array 
Next 


For each item in PortTransferErrorr 
    outputFile.Write(item) 
Next 
+0

現在どのようなコードをお持ちですか? – langstrom

+0

currコードで更新された質問。 – pokemongirl1234

答えて

3

あなたはReDimステートメント(およびコピー)アレイ入力回線毎に、あなたが会った条件ごとに両方の配列を成長。 ReDimの行を適切なThen部分に移動します。

+0

*翻訳*: 'ReDim'ステートメントを' If'ステートメントの関連部分に移動します。 – Lankymart

関連する問題