わからないステートメントがいっぱい!
八木くんはExcelを起動し、VBEを開きました。
カタカタカタカタ…何かコードを一生懸命、打ち込んでいます。
「…ふう。こんなものか…。
一般的にテキストファイルを読み込むときは、こんな感じで処理するんだ」
Sub test()
Dim buf As String
Open ThisWorkbook.Path & "\test.csv" For Input As #1
Do Until EOF(1)
Line Input #1, buf
MsgBox buf
Loop
Close #1
End Sub
「うお!いっぱい書いたなあ…。
わからないステートメントがいっぱいあるぞ…」
「ははは、大丈夫!そんなに難しくないよ。
処理を順に説明していくと…。
まず3行目、Openステートメントで"test.csv"というテキストファイルを開いているんだ。
ThisWorkbook.Path & "\test.csv"というのは、このブックの保存されているフォルダにある、
"test.csv"という名前のファイルという意味だよ。
4行目から7行目のDo…Loopステートメントは、
テキストファイルの1行目から最後の行まで順に読み込むよう指定されてるんだ。
あとは、読み込んだ行をMsgBox関数で1行ずつ表示し、
最後にCloseステートメントでファイルを閉じるだけだ。
簡単だろ?…何か質問はあるかい?」
八木くんにそうふられて、星くんは目を白黒させました。
「…い、いや…。これは、簡単じゃないだろ…」
「そうかい?細かいところは、いろいろわからないことがあっても、
これだけ記述すれば、テキストファイルが読み込めるんだ、簡単じゃないか。
今、大切なことは、CSVファイルを読み込んで利用できる方法を知ることだろ?
そして、このコードで大切なポイントは、たった2つしかない。
1つめはThisWorkbook~、この部分を変更することで、
好きな場所にあるテキストファイルを開くことができる、ということ。
もう1つはbufという変数に、テキストファイルの中身が1行ずつ、順番に格納されていく、ということだ」
「"#1"がなにかとか…、知らなくて大丈夫かい?」
「それは必要になったときに覚えればいい。
今はおまじないのようなものだと、思っていればいいよ。
…よし、実際に取り込むところを見せてやろう!」
八木くんはメモ帳を開き、なにやら入力を始めました…。