there is an easier way...(from vb help)
[tt]
Print # Statement
Writes display-formatted data to a sequential file.
Syntax
Print #filenumber, [outputlist]
The Print # statement syntax has these parts:
Part Description
filenumber Required. Any valid file number.
outputlist Optional. Expression or list of expressions to print.
Settings
The outputlist argument settings are:
[{Spc

| Tab[

]}] [expression] [charpos]
Setting Description
Spc

Used to insert space characters in the output, where n is the number of space characters to insert.
Tab

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 next print zone.
expression Numeric expressions or string expressions to print.
charpos Specifies the insertion point for the next character. Use a semicolon to position the insertion point immediately after the last character displayed. Use Tab

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 False is printed. The True and False keywords are not translated, regardless of the locale.
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 is Empty. However, if outputlist data is Null, Null is written to the file.
For Error data, the output appears as Error errorcode. 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.
[/tt]
so if you wanted to print this...
[tt]
Thisisatest
[/tt]
you would have your print line like
[tt]
Print #FNumb, "This"; "is"; "a"; "test"
'or
'Print #FNumb, "Thisisatest"
[/tt]
But then again that is not really what you want. From my understanding you are wanting an easy way to align colums when you print. So you can do...
[tt]
Print #FNumb, "This", "is", "a", "test"
[/tt]
This will align up each word in a column, or for readability...
[tt]
Me.Print "This"; Tab; "is"; Tab; "a"; Tab; "test"
[/tt]
OR, if you are looking for a littlt more contol you can use the space

...
[tt]
Me.Print "This"; Space(5); "is"; Space(5); "a"; Space(5); "test"
[/tt]
and if you are wanting to create a padding function here is an example thread222-487039 that I created a while ago.
Good Luck