VBSプログラミング最初の一歩 VBScript

ファイルを読み込む

ファイルを読み込む場合もファイルの書き込みと同じように行います。違いはまず、OpenTextFile関数での二番目の引数が 1 になることです。これが読み込みモードを表します。そして三番目の引数は省略してかまいません。

Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("D:\work\test.txt", 1 )

ファイルから一行読み込むにはReadLineメソッドを使います。これは一行読み込んでその文字列を返してくれます。

str = file.ReadLine
MsgBox str

この例では変数 str にいったん読み込んだ文字列を代入して表示しています。
ReadLineは一行しか読みませんが、ファイルを閉じる前に二回目、三回目の実行をすれば二行目、三行目を読んでくれます。最後にファイルを閉じるところは同じです。

file.Close

まとめると以下のようになります。

Set fso = CreateObject("Scripting.FileSystemObject")

Set file = fso.OpenTextFile("C:\work\test.txt", 1 )

str = file.ReadLine

MsgBox str

file.Close

この例では一行しか読み込みません。最後まで読み込むためにはTextStreamオブジェクトのAtEndOfLineメソッドを使ってファイルを最後まで読んだかを判定します。AtEndOfLineがTrueのときは最後まで読んでいます。Falseの場合にはまだ途中です。以下のようにすると一行ずつメッセージボックスで表示することができます。

while file.AtEndOfLine = false
	str = file.ReadLine
	MsgBox str
wend

問題11-4:
ある特定のファイルを読み込み、そのファイルが何行あるかを数えるプログラムを作ろう。