Table of contents
Collapse the table of content
Expand the table of content

Print # Statement

office 365 dev account|Last Updated: 6/12/2017
1 Contributor

Writes display-formatted data to a sequential file.


Print#filenumber, [ outputlist ]

The Print # statement syntax has these parts:

filenumberRequired. Any valid file number.
outputlistOptional. Expression or list of expressions to print.

Settings The outputlistargument settings are: [{ Spc(n) |Tab [ (n) ]}] [ expression ] [ charpos ]

Spc(n)Used to insert space characters in the output, where n is the number of space characters to insert.
Tab(n)Used to position the insertion point to an absolute column number, where n is the column number. Use Tab with no argument to position the insertion point at the beginning of the nextprint zone.
expressionNumeric expressions orstring expressions to print.
charposSpecifies the insertion point for the next character. Use a semicolon to position the insertion point immediately after the last character displayed. Use Tab(n) to position the insertion point to an absolute column number. Use Tab with no argument to position the insertion point at the beginning of the next print zone. If charpos is omitted, the next character is printed on the next line.

Remarks Data written with Print # is usually read from a file with Line Input # or Input. If you omit outputlist and include only a list separator after filenumber, a blank line is printed to the file. Multiple expressions can be separated with either a space or a semicolon. A space has the same effect as a semicolon. For Boolean data, either True or or False is printed. The True and False keywords are not translated, regardless of thelocale. Date data is written to the file using the standard short date format recognized by your system. 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 outputlist data isEmpty. However, if outputlist data isNull, Null is written to the file. For Error data, the output appears as Errorerrorcode. The Error keyword is not translated regardless of the locale. All data written to the file using Print # is internationally aware; that is, the data is properly formatted using the appropriate decimal separator. Because Print # writes an image of the data to the file, you must delimit the data so it prints correctly. If you use Tab with no arguments to move the print position to the next print zone, Print # also writes the spaces between print fields to the file.

Note If, at some future time, you want to read the data from a file using the Input # statement, use the Write # statement instead of the Print # statement to write the data to the file. Using Write # ensures the integrity of each separate data field by properly delimiting it, so it can be read back in using Input #. Using Write # also ensures it can be correctly read in any locale.


This example uses the Print # statement to write data to a file.

Open "TESTFILE" For Output As #1 ' Open file for output. 
Print #1, "This is a test" ' Print text to file. 
Print #1, ' Print blank line to file. 
Print #1, "Zone 1"; Tab ; "Zone 2" ' Print in two print zones. 
Print #1, "Hello" ; " " ; "World" ' Separate strings with space. 
Print #1, Spc(5) ; "5 leading spaces " ' Print five leading spaces. 
Print #1, Tab(10) ; "Hello" ' Print word at column 10. 

' Assign Boolean, Date, Null and Error values. 
Dim MyBool, MyDate, MyNull, MyError 
MyBool = False : MyDate = #February 12, 1969# : MyNull = Null 
MyError = CVErr(32767) 
' True, False, Null, and Error are translated using locale settings of 
' your system. Date literals are written using standard short date 
' format. 
Print #1, MyBool ; " is a Boolean value" 
Print #1, MyDate ; " is a date" 
Print #1, MyNull ; " is a null value" 
Print #1, MyError ; " is an error value" 
Close #1 ' Close file. 
© 2018 Microsoft