This documentation is archived and is not being maintained.

Write, WriteLine Functions 

Writes data to a sequential file. Data written with Write is usually read from a file with Input.

Public Sub Write( _
   ByVal FileNumber As Integer, _
   ByVal ParamArray Output As Object _
' -or-
Public Sub WriteLine( _
   ByVal FileNumber As Integer, _
   ByVal ParamArray Output() As Object _



Required. An Integer expression containing any valid file number.


Optional. One or more comma-delimited expressions to write to a file.

Exception type Error number Condition



FileNumber does not exist.



File mode is invalid.

See the "Error number" column if you are upgrading Visual Basic 6.0 applications that use unstructured error handling. (You can compare the error number against the Number Property (Err Object).) However, when possible, you should consider replacing such error control with Structured Exception Handling Overview for Visual Basic.

The Write and WriteLine functions are provided for backward compatibility and may have an impact on performance. For non-legacy applications, the My.Computer.FileSystem object provides better performance. For more information, see File Access with Visual Basic.

If you omit Output, a blank line is printed to the file. Multiple expressions can be separated with a comma.

Unlike the Print function, the Write function inserts commas between items and quotation marks around strings as they are written to the file. You do not have to put explicit delimiters in the list. When Write is used to write data to a file, only numeric, Boolean, date, null, and Error data formats are supported. The following universal assumptions are followed so the data can always be read and correctly interpreted using Input, regardless of locale:

  • Numeric data is always written using the period as the decimal separator.

  • For Boolean data, either #TRUE# or #FALSE# is printed. The True and False keywords are not translated, regardless of locale.

  • Date data is written to the file using the universal date format. When either the date or the time component is missing or zero, only the part provided gets written to the file.

  • Nothing is written to the file if Output data is empty. However, for null data, #NULL# is written.

  • For Error data, the output appears as #ERROR errorcode#. The Error keyword is not translated, regardless of locale.

WriteLine inserts a newline character (that is, a carriage return/line feed, or Chr(13) + Chr(10)), after it has written the final character in Output to the file.

You can embed quotation marks in a string by using double quotation marks, or "". For example,

Dim x As String = "Double quotation marks aren't ""difficult"" to handle."

returns a string with the value of Double quotation marks aren't "difficult" to handle.

Writing to a file with the Write or WriteLine functions requires Append access from the FileIOPermissionAccess enumeration. For more information, see FileIOPermissionAccess Enumeration.

This example uses the Write function to write raw data to a sequential file.

FileOpen(1, "TESTFILE", OpenMode.Output) ' Open file for output.
Write(1, "This is a test.")  ' Print text to file.
WriteLine(1)  ' Print blank line to file.
WriteLine(1, "Zone 1", TAB(), "Zone 2")   ' Print in two print zones.
WriteLine(1, "Hello", " ", "World")     ' Separate strings with space.
WriteLine(1, SPC(5), "5 leading spaces ")    ' Print five leading spaces.
WriteLine(1, TAB(10), "Hello")   ' Print word at column 10.

' Assign Boolean, Date, and Error values.
Dim aBool As Boolean
Dim aDate As DateTime
aBool = False
aDate = DateTime.Parse("February 12, 1969")

' Dates and Booleans are translated using locale settings of 
' your system.
WriteLine(1, aBool, " is a Boolean value")
WriteLine(1, aDate, " is a date")
FileClose(1)   ' Close file.

This function is not supported.

Namespace: Microsoft.VisualBasic

Module: FileSystem

Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)