【VBA】Line Inputでファイルを一行ずつ読み込む方法

『Line Input #』は”ファイルから1行を読み込む”ステートメントです。

このステートメントについて、ちょこっと解説します。

スポンサーリンク



Line Input #の記述方法

『Line Input #』の記述の仕方は下の通りです。

[Line Input #ファイル番号, 変数名]

・ファイル番号:任意のファイル番号を指定する

・変数名:読み込んだ文字列を代入する変数名を指定する

 

ざっくりとした使い方の説明は下の通りです。

Openステートメントで対象のファイルを開き、ファイル番号を指定

→Line Inputで「指定したファイル番号」と「変数名」を指定し、読込処理を行う

 

具体的な説明は下の参考コードで説明します。

 

Line Input #の参考コード

ここで使うデータは下の「テキストファイル」になります。

まずここでは上の「全てデータ(空白を含めた5行)を”1行ずつ”読み込む」までを順序だってやっていきます。

 

テキストファイルの1行目を読み込む

下はテキストファイルの1行目のデータ(11111)を読み込むコードです。

1行ずつ読み込む際にはLine Input #ステートメントで読み込みます。

3行目:「Open」ステートメントでテキストファイルを開く。

※ファイルの場所の書き方が分からない場合は「対象ファイルを右クリック」→「プロパティ」→「”場所”欄」をコピーすればOK

4行目:「Line Input #」ステートメントで行全体を読み込み、変数に代入する。

[Line Input #(任意のファイル番号) , (読み込んだデータを代入する変数)]

 

テキストファイルのデータを1行目ずつ全てを読み込む

下は「対象ファイル(sample.txt)のデータを一行ずつ全ての行を読み込む」処理を行うコードです。

 

3行目:開く対象のファイルの場所を指定+ファイル番号を指定(ここでは”1”と指定していしている)

※ファイルの場所の書き方が分からない場合は「対象ファイルを右クリック」→「プロパティ」→「”場所”欄」をコピーすればOK

 

4行目:Do~Loopで繰り返す条件を設定

EOF(ファイル番号):現在位置がファイルの末尾に達したときに”True”を返す

Until:”true”になるまでDo~Loopの間の処理を繰り返す

※Do Loopが分からない人は『Do Loopの使い方』を参考にする

 

5行目:読み込み処理

7行目:ここまでがループ範囲

8行目:3行目で開いたファイルを閉じる(閉じるときはファイル番号で指定する)

 

Line Inputで重要な部分は上でいえば、3行目と5行目です。

 

3行目でLine Inputの『#ファイル番号』には任意の数字を指定します。

Line Inputを使う際には「Open」ステートメントを使って対象のファイルを開く必要があります。

その際にはOSに「これからはここで開いたファイルを〇番で表すよ」と伝える必要があります。

上のコードの場合は”1”と指定しています(ほとんどの場合、1つのファイルしか開かないので#1でOK)。

 

そして、5行目で3行目で指定した「ファイル番号(1)」と読み込んだデータを代入する「変数名(str)」を指定しています。

 

〇おすすめのVBA参考書ランキング!

1位

2位

3位

Excel VBA 脱初心者のための集中講座パーフェクトExcel VBAExcelVBA 実戦のための技術
初心者~中級者中級者初心者~中級者
【初心者が手に取るべき参考書】

・「書籍+動画」で圧倒的に理解しやすい入門書になっている。

・丁寧で詳しい解説でボリューム感がある。

【より深い理解をしたい方にお勧めな参考書】

・テーマに対して丁寧な解説・適度な深さで解説されている。

・幅広くテーマを扱っていることから、基礎知識をあらかた網羅できる。

【入門書と一緒に買うべき参考書】

・1つ1つのテーマを経験豊富なエンジニア視点で解説してくれている。

・実践的で効果的なコードの書き方が理解できる。

【読んでみた一言】
正直、入門書はコレ一冊でいいかも。あとは中級者用の参考書に進むべし。
【読んでみた一言】
深く書かれているが、少々専門的に書かれていることから、読む前に数冊の入門書を読破したほうが良い。
【読んでみた一言】
基礎知識を持っている人が次のレベルに達するきっかけを与えてくれる参考書である。

¥2,794円
amazonで確認!

¥3,608円
amazonで確認!

¥2,640円
amazonで確認!

スポンサーリンク