回答編集履歴

1

コード例の追記

2017/05/07 15:36

投稿

hatena19
hatena19

スコア33742

test CHANGED
@@ -13,3 +13,65 @@
13
13
  で一つの文字列変数にまとめて、Writeで一気に書き込む、というようにした方が
14
14
 
15
15
  高速に処理できます。
16
+
17
+
18
+
19
+ 追記
20
+
21
+ ---
22
+
23
+
24
+
25
+ 下記のような感じのコードになります。ご参考に。
26
+
27
+ ```
28
+
29
+ '全文読み込み
30
+
31
+ strTxt = objReadStream.ReadAll
32
+
33
+ '改行で分割、1行毎の配列
34
+
35
+ aryLine = Replace(strTxt, vbCrLf)
36
+
37
+
38
+
39
+ For i = LBound(aryLine) To UBound(aryLine)
40
+
41
+ 'タブで分割、列毎の配列
42
+
43
+ aryCol = Split(aryLine(i), vbTab)
44
+
45
+
46
+
47
+ aryCol(0) = aryCol(0) & "," 'カンマ区切り付加
48
+
49
+ aryCol(1) = aryCol(1) & "," 'カンマ区切り付加
50
+
51
+ aryCol(2) = "" '不要なカラム(3列目)の削除
52
+
53
+ aryCol(3) = aryCol(3) & "," 'カンマ区切り付加
54
+
55
+
56
+
57
+ '以下、配列に対して列の移動、テキスト変更等の処理
58
+
59
+
60
+
61
+ aryLine(i) = Join(aryCol, "") '列を結合して行に戻す
62
+
63
+ Next i
64
+
65
+
66
+
67
+ strTxt = Join(aryLine, vbCrLf) '行を改行区切りで結合
68
+
69
+
70
+
71
+ 'ファイルに出力
72
+
73
+ objWriteStream.Write strTxt
74
+
75
+
76
+
77
+ ```