トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 新たなる挑戦編: 第3話「開発の準備をしよう!」4/4 :わからないステートメントがいっぱい!

やってみよう!Excel VBAで業務改善! 新たなる挑戦編|第3話 「開発の準備をしよう!」

わからないステートメントがいっぱい!

八木くんは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"がなにかとか…、知らなくて大丈夫かい?」 「それは必要になったときに覚えればいい。
今はおまじないのようなものだと、思っていればいいよ。
…よし、実際に取り込むところを見せてやろう!」
八木くんはメモ帳を開き、なにやら入力を始めました…。

第4話「テキストファイルを操作しよう!」に続く
文・イラスト / 武藤 玄

星くんと一緒にSTEP UPしませんか?
一覧にもどる