The FileSystemObject VBA CreateTextFile creates a text file and returns a TextSteam object that allows you to read and write to the file.
- BuildPath
- CopyFile
- CopyFolder
- CreateFolder
- CreateTextFile
- DeleteFile
- DeleteFolder
- DriveExists
- FileExists
- FolderExists
- GetAbsolutePathName
- GetBaseName
- GetDrive
- GetDriveName
- GetExtensionName
- GetFile
- GetFileName
- GetFolder
- GetParentFolderName
- GetSpecialFolder
- GetTempName
- MoveFile
- MoveFolder
- OpenTextFile
VBA CreateTextFile Syntax
1 | fso.CreateTextFile (filename, [ overwrite, [ unicode ]]) |
filename
Name of the file to create. Be sure to add .txt extension to be able to open in text editor by default.
overwrite
Optional. If True will overwrite a file with same name.
unicode
Optional. If True then Unicode file will be created. If False then ASCII. By default ASCII file is created.
VBA CreateTextFile Examples
Write a line to text file with New Line (late binding)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Dim fso as Object , ts as Object 'Create the FileSystemObject Set fso = CreateObject( "Scripting.FileSystemObject" ) 'Create the TextStream Set ts = fso.CreateTextFile( "C:\hello.txt" ) 'Write 2 lines ending with New Line character to text file ts.WriteLine "Hello World!" ts.WriteLine "Hello People!" 'Close the file ts.Close 'Clean up memory Set fso = Nothing Set ts = Nothing |
This is the result:
1 2 | Hello World! Hello People! |
Write a string to text file w/o new line (early binding)
Below a different procedure this time with Early Binding and writing a string without a New Line character at the end.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Dim fso as FileSystemObject, ts as TextStream 'Create the FileSystemObject Set fso = New FileSystemObject 'Create the TextStream Set ts = fso.CreateTextFile( "C:\hello.txt" ) 'Write a line ending with NewLine to text file ts.Write "Hello World!" ts.Write "Hello People!" 'Close the file ts.Close 'Clean up memory Set fso = Nothing Set ts = Nothing |
This is the result:
1 | Hello World!Hello People! |