回答編集履歴

3

コード修正

2020/09/11 00:20

投稿

hatena19
hatena19

スコア34075

test CHANGED
@@ -18,19 +18,19 @@
18
18
 
19
19
  ary1 = Split("",",")
20
20
 
21
- MsbBox UBound(ary1) '-1 要素数0の配列
21
+ MsgBox UBound(ary1) '-1 要素数0の配列
22
22
 
23
23
 
24
24
 
25
25
  ary2 = Split(" ",",")
26
26
 
27
- MsbBox UBound(ary2) '0 要素数1の配列
27
+ MsgBox UBound(ary2) '0 要素数1の配列
28
28
 
29
29
 
30
30
 
31
31
  str = ""
32
32
 
33
- MsbBox UBound(ary2) '配列でないので型が違うというエラー
33
+ MsgBox UBound(str) '配列でないので型が違うというエラー
34
34
 
35
35
 
36
36
 

2

コード追記

2020/09/11 00:20

投稿

hatena19
hatena19

スコア34075

test CHANGED
@@ -63,3 +63,35 @@
63
63
  '後略
64
64
 
65
65
  ```
66
+
67
+ ttyp03さんの回答にあるようにこの行だけ改行コードを入れるのは、他の行との整合性がとれないので、あまりよくないですね。
68
+
69
+ 要素数0のままにしておくか、空文字列の配列を格納するようにしたほうがいいですね。
70
+
71
+
72
+
73
+ ```vba
74
+
75
+ '前略
76
+
77
+
78
+
79
+ dataLine = inputFile.ReadLine
80
+
81
+ Redim Preserve strArr(i)
82
+
83
+ If dataLine = "" Then
84
+
85
+ strArr(i) = Array("")
86
+
87
+ ELse
88
+
89
+ strArr(i) = Split(dataLine, ",")
90
+
91
+ End if
92
+
93
+ i = i + 1
94
+
95
+ '後略
96
+
97
+ ```

1

説明の改善

2020/09/10 10:07

投稿

hatena19
hatena19

スコア34075

test CHANGED
@@ -18,13 +18,21 @@
18
18
 
19
19
  ary1 = Split("",",")
20
20
 
21
- MsbBox UBound(ary1)
21
+ MsbBox UBound(ary1) '-1 要素数0の配列
22
22
 
23
23
 
24
24
 
25
25
  ary2 = Split(" ",",")
26
26
 
27
- MsbBox UBound(ary2)
27
+ MsbBox UBound(ary2) '0 要素数1の配列
28
+
29
+
30
+
31
+ str = ""
32
+
33
+ MsbBox UBound(ary2) '配列でないので型が違うというエラー
34
+
35
+
28
36
 
29
37
  ```
30
38