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

ファイルの処理

ファイルに何かデータを保存したり、そこからデータを読み出すことは本格的なプログラムには必ず必要になることです。なぜならプログラミングで処理するデータというのはメモリ上に存在しますから、そのプログラムが終了してしまえば消えてしまうのです。変数に入っていた内容はプログラムの実行が終わればメモリ上には存在しなくなってしまいます。

そのデータをまた次回再利用したいと思えばそれは何らかの形でファイルなどでハードディスク上に保存するしかないのです。

では、どのようにプログラムでファイルを処理するのでしょうか? 一般のプログラミング言語では以下のように処理します。

1.ファイルを開く
2.読み込みまたは書き込みをする
3.ファイルを閉じる

読み書きをする前に、一度「ファイルを開く」という操作をする必要があります。このときにどのファイルを開くかというファイル名と、ファイルを読み込みモードで開くのか、書き込みモードで開くのかの指示をします。書き込みモードで開いた場合、同名のファイルがあった場合、上書きされ既存の内容が消えてしまうので十分注意してください。

そして、そのファイルから読み込んだり、書き込んだりします。いろいろな読み込み方法、書き込み方法がありますが、この本ではテキストファイルを一行ずつ読み込んだり書き込んだりする方法を掲載します。

そして最後にファイルを閉じます。ファイルを開いている間はファイルが使えますが、ファイルを使い終わったら必ず閉じてください。そうすることで変更が反映されます。

基本的な流れはこのような感じなのですが、実はVBScriptにはファイルを読み書きする機能というのは直接文法としてあるわけではありません。ではどうするかというとファイルの操作をする「オブジェクト」というものを呼び出して、それを通じてファイルの処理を行います。

「オブジェクト」という言葉にはいろいろな意味がありますが、VBScriptでいう「オブジェクト」は他の言語からでも使用できる共通のライブラリ(プログラム集)のことです。ファイルを扱う場合、FileSystemObjectというオブジェクトを呼び出します。どうやって呼び出すかというと、CreateObjectという関数を使います。

Set fso = CreateObject("Scripting.FileSystemObject")

fsoというのは変数名ですのでどんな名前でもかまいません。CreteObjectがオブジェクトを返してきますので、これを変数に代入しています。普通、変数への代入は「変数 = 代入するもの」でいいのですが、オブジェクトに限っては前にSetをつけるようにVBScriptでは定められています。

CreateObjectの引数"Scripting.FileSystemObject"は FileSystemObject を呼び出すときに使う名前です。この名前を引数にすればFileSystemObjectが取得できるわけです。

オブジェクトが準備できたら、ファイルの読み書きをしましょう。