回答編集履歴
3
サンプルコードをvb.netに変更
answer
CHANGED
@@ -2,19 +2,37 @@
|
|
2
2
|
その一行をsplitを使い カンマで分割すれば簡単に
|
3
3
|
ばらせます
|
4
4
|
|
5
|
+
|
5
6
|
単純に一行づつ読み込むサンプルです
|
7
|
+
[引用ページ](http://jeanne.wankuma.com/tips/vb.net/stream/readline.html)
|
6
|
-
```
|
8
|
+
```vb.net
|
7
|
-
|
9
|
+
' StreamReader の新しいインスタンスを生成する
|
10
|
+
Dim cReader As New System.IO.StreamReader("C:\Hoge.txt", System.Text.Encoding.Default)
|
11
|
+
|
12
|
+
' 読み込んだ結果をすべて格納するための変数を宣言する
|
8
|
-
Dim
|
13
|
+
Dim stResult As String = String.Empty
|
14
|
+
|
15
|
+
' 読み込みできる文字がなくなるまで繰り返す
|
16
|
+
While (cReader.Peek() >= 0)
|
17
|
+
' ファイルを 1 行ずつ読み込む
|
18
|
+
Dim stBuffer As String = cReader.ReadLine()
|
19
|
+
' 読み込んだものを追加で格納する
|
9
|
-
|
20
|
+
stResult &= stBuffer & System.Environment.NewLine
|
10
|
-
Do Until EOF(1)
|
11
|
-
Line Input #1, buf
|
12
|
-
msgbox buf
|
13
|
-
Loop
|
14
|
-
Close #1
|
15
|
-
End
|
21
|
+
End While
|
22
|
+
|
23
|
+
' cReader を閉じる (正しくは オブジェクトの破棄を保証する を参照)
|
24
|
+
cReader.Close()
|
25
|
+
|
26
|
+
' 結果を表示する
|
27
|
+
MessageBox.Show(stResult)
|
16
28
|
```
|
17
29
|
|
18
30
|
ただし値がダブルクォーテーションとかで
|
19
31
|
囲まれていたり、各項目の列数が違う場合等は
|
20
|
-
一工夫必要ですが...
|
32
|
+
一工夫必要ですが...
|
33
|
+
|
34
|
+
Vb.net自体は触ったことがないですが考えかたは使えると思うので...
|
35
|
+
`stResult &= stBuffer & System.Environment.NewLine `をやめて
|
36
|
+
`dim stSplit as String()`を宣言して
|
37
|
+
`stSplit = stBuffer.Split(","c)`として
|
38
|
+
受け取った後に各要素を別の変数に割り振ればいいと思います。
|
2
間違い分の追記
answer
CHANGED
@@ -4,11 +4,13 @@
|
|
4
4
|
|
5
5
|
単純に一行づつ読み込むサンプルです
|
6
6
|
```vba
|
7
|
-
Sub
|
7
|
+
Sub Sample2()
|
8
8
|
Dim buf As String
|
9
9
|
Open "C:\Sample\Data.txt" For Input As #1
|
10
|
+
Do Until EOF(1)
|
10
|
-
|
11
|
+
Line Input #1, buf
|
11
|
-
|
12
|
+
msgbox buf
|
13
|
+
Loop
|
12
14
|
Close #1
|
13
15
|
End Sub
|
14
16
|
```
|
1
脱字修正
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
一行づつ読み込んで
|
2
|
-
その一行をsplitを使い カンマ分割すれば簡単に
|
2
|
+
その一行をsplitを使い カンマで分割すれば簡単に
|
3
3
|
ばらせます
|
4
4
|
|
5
5
|
単純に一行づつ読み込むサンプルです
|