メイン画像

VBScript - ファイル操作(FileSystemObject)

VBScript - ファイル操作(FileSystemObject)


VBScript には標準でファイルを操作する関数は準備されていない。
ファイルを操作するときは FileSystemObject を使う。

FileSystemObject でファイルを扱う方法を紹介する。

テキストファイルを作る(CreateTextFile メソッド)

CreateTextFile メソッドでテキストファイルを作成できる。

Dim textStream
Set textStream = fso.CreateTextFile( FileName, [Overwrite = True], [Unicode = False] )

FileName に作成するファイルのパスを指定する。

Overwrite にファイルの上書きを許可するかどうかを指定する。
True は上書き許可、 False は上書き禁止。
既定値は True 。

Unicode に True を指定すると Unicode ファイルが作成される。
False を指定すると ASCII ファイルが作成される。
既定値は False 。

戻り値は作成されたファイルのストリーム。

ファイルをコピーする(CopyFile メソッド)

CopyFile メソッドでファイルをコピーできる。

fso.CopyFile( Source, Destination, [OverWriteFiles = True] )

Source にコピー元ファイルのパスを指定する。
ワイルドカードも使用可能。

Destination にコピー先のパスを指定する。

OverWriteFiles に True を指定した場合、既存のファイルは上書きされる。
False を指定した場合、上書きされない。
既定値は True 。

コピー先が読み取り専用の場合、 OverWriteFiles の指定に関わらず処理は失敗する。

ファイルを移動する(MoveFile メソッド)

MoveFile メソッドでファイルを移動できる。

fso.MoveFile( Source, Destination )

Source に移動するファイルのパスを指定する。
ワイルドカードも使用可能

Destination に移動先のパスを指定する。

移動先がすでに存在する場合は実行時エラーが起きる。

ファイルを削除する(DeleteFile メソッド)

DeleteFile メソッドでファイルを削除できる。

fso.DeleteFile( FileSpec, [Force = False] )

FileSpec に削除するファイルのパスを指定する。
ワイルドカードも使用可能。
一致するファイルが見つからない場合は実行時エラーが起きる。

Force に True を指定すると読み取り専用であっても削除する。
False の場合は削除しない。
既定値は False 。

テキストファイルを開く(OpenTextFile メソッド)

OpenTextFile メソッドでテキストファイルを開くことができる。

Dim textStream
Set textStream = fso.OpenTextFile( FileName, [IOMode = ForReading], [Create = False], [Format = TristateFalse] ) 

FileName に開くファイルのパスを指定する。

IOMode に入力/出力モードを指定する。
以下の3種類のいずれかが指定できる。

  • 1 (定数: ForReading) → 読み取り専用。書き込みは不可。
  • 2 (定数: ForWriting) → 書き込み専用。読み取りは不可。このモードは、既存のファイルを新しいデータで書き換える場合に使う。
  • 8 (定数: ForAppending) → 追記。読み取りは不可。

Create に True を指定すると、指定したファイルが存在しない場合に新規作成する。
False の場合は作成しない。
既定値は False 。

Format に開くファイルの形式を指定する。
以下の3種類のいずれかが指定できる。

  • -2 (定数: TristateUseDefault) → システムの既定の設定でファイルを開く。
  • -1 (定数: TristateTrue) → Unicode 形式でファイルを開く。
  • 0 (定数: TristateFalse) → ASCII 形式でファイルを開く。

戻り値として開いたファイルのストリームが返る。

ファイルオブジェクトを取得する(GetFile メソッド)

GetFile メソッドでファイルオブジェクトを取得できる。

Dim file
Set file = fso.GetFile( FilePath )

FilePath に取得するファイルのパスを指定する。

戻り値としてファイルオブジェクトが返る。

存在しないパスを指定した場合、実行時エラーが起きる。

ファイルの存在を確認する(FileExists メソッド)

FileExists メソッドでファイルが存在するか確認できる。

fso.FileExists( FileSpec )

FileSpec にファイルのパスを指定する。

ファイルが存在する場合は True 、そうでない場合は False が返る。


アカウントを作成 して、もっと沢山の記事を読みませんか?


この記事が気に入ったら ことりと さんを応援しませんか?
メッセージを添えてチップを送ることができます。


この記事にコメントをしてみませんか?


酒とアクアリウムが最近の楽しみ。

おすすめの記事