1

ForEachでコレクションを繰り返しています。「;」で終わる文字列を見つけるたびに、その「;」を削除する必要があります。(これはcsv解析に使用され、サードパーティからの偽のファイルがあります)。

行を識別するとき、たとえば「12;」の既存の値を上書きする必要があります。「12」で。

このコードはすべての正しい行を検出しますが、arrAccountsに上書きはありません。

dim con
For Each con In arrAccounts(x)
    if Right(con,1) = ";" then
        dim length
        length =  Len(con)
        con = Left(con, (length-1))
    end if
next

私は何が欠けている/間違っているのですか?

4

1 に答える 1

1

唯一のことは、新しい値を配列に再度挿入する必要があることだと思います。

dim i, con
for i = 0 to ubound(arrAccounts(x)) ''# for keeping track which item we are looking at
    con = arrAccounts(x)(i)
    if right(con, 1) = ";" then
        con = left(con, len(con) - 1)
        arrAccounts(x)(i) = con ''# insert the new value back into the array at the same position
    end if
next
于 2012-04-18T13:29:04.397 に答える