FSO.OpenTextFile メソッド

本ページには広告が含まれています。

ファイルを開き、ファイルへのアクセスに使用できるTextStream オブジェクトを返します。FileSystemObjectで扱えるファイルの文字コードはASCIIかUnicodeのどちらかのみです。

開いたファイルのテキストを読み込む場合はFileSystemObject.OpenTextFileFileSystemObject.OpenTextFileFileSystemObject.OpenTextFile、書き込む場合はFileSystemObject.OpenTextFileFileSystemObject.OpenTextFileFileSystemObject.OpenTextFile、のいずれかを使います。

構文
  1. TextStream = FileSystemObject.OpenTextFile( filename, iomode, create, format )
引数
filename 省略可
開くファイルを識別する文字列式です。
iomode 省略可
入力/出力モードを示します。ForReadingForWriting、または ForAppendingのいずれかの定数を指定できます。
create 省略可
filenameで指定したファイルが存在しない場合に新しいファイルを作成できるかどうかを示すブール値です。 新しいファイルを作成する場合はTrue、作成しない場合はFalseを指定します。既定値はFalseです。
format 省略可
開くファイルの形式を示すTristateの3つの値のいずれかです。省略すると、ASCII形式でファイルが開きます。
戻り値
TextStream オブジェクト

iomode

定数名 説明
ForReading 1 ファイルを読み取り専用として開きます。 このファイルには書き込むことはできません。
ForWriting 2 ファイルを書き込み専用として開きます。 既存のファイルを新しいデータで置き換える場合はこのモードを使用します。 このファイルからの読み取りはできません。
ForAppending 8 ファイルを開き、ファイルの最後に書き込みます。 このファイルからの読み取りはできません。

format

定数名 説明
TristateFalse 0 ASCII(Shift_JIS)
TristateTrue -1 Unicode(UTF-16)
TristateUseDefault -2 システムの既定値

使い方

書き込みモード、文字コードSJISでファイルを開きます。指定したパスが存在しない場合ファイルを生成します。文字列を書き込むにはFileSystemObject.OpenTextFileを使います。現在のテキストに上書きされます。

UWSC
CONST ForWriting = 2
CONST TristateFalse = 0

DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM TextStream = FSO.OpenTextFile("D:\Desktop\sample.txt", ForWriting, TRUE, TristateFalse)

書き込みモード、文字コードUnicode(UTF-16 BOM付き)でファイルを開きます。指定したパスが存在しない場合、エラーが発生します。

UWSC
CONST ForWriting = 2
CONST TristateTrue = -1

DIM FSO = CREATEOLEOBJ("Scripting.FileSystemObject")
DIM TextStream = FSO.OpenTextFile("D:\Desktop\sample.txt", ForWriting, FALSE, TristateTrue)

関連記事

DELETEFILE関数 (スクリプト関数)
テキストファイルを削除します。
FCLOSE関数 (スクリプト関数)
テキストファイルを閉じます。
FDELLINE関数 (スクリプト関数)
テキストファイルの指定行を削除します。
FGET関数 (スクリプト関数)
テキストファイルの読み込みを行います。
FOPEN関数 (スクリプト関数)
テキストファイルを開き、ファイルIDを取得します。
GETDIR関数 (スクリプト関数)
Folder.CopyHere メソッド (Shell)
1つまたは複数のアイテムをフォルダにコピーします。
Folder.MoveHere メソッド (Shell)
1つまたは複数のアイテムをこのフォルダに移動します。
FileSystemObject オブジェクト
FSO.DeleteFile メソッド
指定したファイルを削除します。