VBAでString型変数に何度も文字列を結合する場合の注意点
Dim str As String str = str & "hogehoge..." 何気なくやるこんな処理。大量に繰り返すと、意外な落とし穴があります。C言語でメモリーの管理に慣れている人なら、気が付くでしょうが、経験がなければ一生気が付かないかもしれません。 いま、1行当たり200byte程度、1つ20KB程度のテキストファイルが1年分365個あって、それらを一つのテキストファイルにまとめるとします。String型の変数"data"を用意し、1つずつテキストファイルを開き、1行ずつ読み取ってdataの後ろに次々に結合していきます。 Sub hoge(data$)
'<中略>
Do While EOF(1) = False
Dim line_$
Line Input #1, line_
fields_ = Split(line_, vbTab)
Dim i&
For i = LBound(fields_) to Ubound(fields_)
Dim str$: