Forum Discussion
i need some help to understand line 23
- Sep 05, 2022
The variable ts is a TextStream object in the Scripting library. It represents a plain text file.
The lines
Set ts = fso.OpenTextFile( _ Environ("UserProfile") & "\Desktop\TestExcelFile.txt", ForWriting, True)
create a new text file TestExcelFile.txt, ready to be written to (if there is already a file of that name, it will be removed first).
The code then loops through the rows and columns of the used range of Sheet1.
It writes the value of each cell in a row followed by a Tab character to the same line of the text file.
Line 23 adds an extra Tab character between those values.
For example, if you have a sheet looking like this:
a b c 1 2 3 the text file will look like this:
a<tab><tab>b<tab><tab>c<tab>
1<tab><tab>2<tab><tab>3<tab>
The variable ts is a TextStream object in the Scripting library. It represents a plain text file.
The lines
Set ts = fso.OpenTextFile( _
Environ("UserProfile") & "\Desktop\TestExcelFile.txt", ForWriting, True)
create a new text file TestExcelFile.txt, ready to be written to (if there is already a file of that name, it will be removed first).
The code then loops through the rows and columns of the used range of Sheet1.
It writes the value of each cell in a row followed by a Tab character to the same line of the text file.
Line 23 adds an extra Tab character between those values.
For example, if you have a sheet looking like this:
a | b | c |
1 | 2 | 3 |
the text file will look like this:
a<tab><tab>b<tab><tab>c<tab>
1<tab><tab>2<tab><tab>3<tab>
Now I know what this line of code does, but what is the point of adding another tab if the previous line does it after each cell?
- HansVogelaarSep 06, 2022MVP
I don't know, I would use
ts.Write r.Offset(0, i - 1).Value If i < ColumnCount Then ts.Write vbTab