FSO OpenTextFileメソッド定数とサンプルコード

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

OpenTextFile メソッド

指定したファイルを開き、開いたファイルの読み取り、または追加書き込みに使用できる TextStream オブジェクトを返します。

  • object.OpenTextFile(filename[, iomode[, create[, format]]])

  • 引数

  • object
  • 必ず指定します。FileSystemObject オブジェクトの名前を指定します。
  • filename
  • 必ず指定します。作成するファイルの名前を表す文字列式を指定します。
  • iomode
  • 省略可能です。指定する値については、次の「設定値」を参照してください。
  • create
  • 省略可能です。引数 filename で指定したファイルが存在しなかった場合に新しいファイルを作成するかどうかを示すブール値を指定します。新しいファイルを作成する場合は真 (true) を、ファイルを作成しない場合は偽 (false) を指定します。省略した場合、新しくファイルは作成されません。
  • format
  • 省略可能です。開くファイルの形式を示す値を指定します。指定する値については、次の「設定値」を参照してください。省略した場合、ASCII ファイルとしてファイルが開かれます。
  • 設定値

引数 iomode の設定値は次のとおりです。
定数 内容
ForReading 1 ファイルを読み取り専用として開きます。このファイルには書き込むことができません。
ForWriting 2 ファイルを書き込み専用として開きます。
ForAppending 8 ファイルを開き、ファイルの最後に追加して書き込みます。
引数 format の設定値は次のとおりです。
内容
TristateTrue ファイルを Unicode ファイルとして開きます。
TristateFalse ファイルを ASCII ファイルとして開きます。
TristateUseDefault システム デフォルトを使ってファイルを開きます。

解説

次のコードは、OpenTextFile メソッドを使用して、テキストを追加するためにファイルを開く方法を示します。

サンプルコード

Option Explicit


Sub FSOTextFile(ByVal txtPath As StringByVal Character As String)
'****************************************************************
'FSO 指定したファイルの読取・追加・書込をするFSOTextFile
'****************************************************************

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(txtPath, ForWriting, True)
f.Write Character
f.Close
End Sub


Private Sub test()
FSOSetDLL 'FSO参照設定
Dim p As String
Dim m As String
Dim s As String
p = ThisWorkbook.Path
m = "test.txt"
s = "テスト"
Call FSOTextFile(p & "\" & m, s)
'テスト
End Sub

 

2000年01月01日|[VBサンプルコード]:[FSO]