
FileSystemObjectのCreateTextFileメソッドについてです。
Menu
CreateTextFileメソッド
概要
ファイルを作成してTextStreamオブジェクトを返します。
構文
FileSystemObject.CreateTextFile(Filename,[overwrite,[unicode]])
[ ]は省略可という意味
CreateTextFileメソッドの引数
引 数 | 必須 / 省略可 | 説 明 |
ファイル名 | 必須 | ・ファイル名(パス)を指定。 |
上書き (overwrite) | 省略可 | ・ファイルを上書きするかBool値で指定。 |
文字コード (unicode) | 省略可 | ・UnicodeファイルまたはASCIIファイルを作成するかBool値で指定。 |
VBAサンプル
新規ファイルを作成①
指定したフォルダーにファイルが存在しない場合は、上書き指定(True,False)はどちらでも可能です。
1 2 3 4 5 6 7 | Sub 新規ファイルを作成1() Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") fso.CreateTextFile "D:\sample\test.txt" End Sub |
フルパスで指定したフォルダに、test.txtという新規ファイルが作成されます。
新規ファイルを作成②
指定したフォルダに同名のファイルがすでに存在する場合は、第2引数の上書きしない(False)はエラーがでます。
1 2 3 4 5 6 7 | Sub 新規ファイルを作成2() Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") fso.CreateTextFile "D:\sample\test.txt", False End Sub |
既に同名のファイルが存在しています。というエラーが表示されます。
新規ファイルを作成して文字を書き込む③
CreateTextFileメソッドは、TextStreamオブジェクトを返すのでWriteメソッドを使用して、ファイルを作成して文字の書込みができます。
1 2 3 4 5 6 7 8 9 10 11 | Sub ファイルを作成して書き込む() Dim fso As Object Dim ts As TextStream Set fso = CreateObject("Scripting.FileSystemObject") Set ts = fso.CreateTextFile("D:\sample\test2.txt") ts.Write ("こんにちわ") ts.Close End Sub |
test2.txtを新規作成して、こんにちわと書き込みます。