VBScript Column Property
last modified April 9, 2025
The Column property in VBScript is part of the
TextStream object. It returns the column number of the current
character position in a text file. This property is read-only and useful for
tracking position when reading or writing files. It helps in precise file
manipulation and error reporting.
Column counts from 1 at the beginning of each line. It's updated
automatically as you read or write to the file. This tutorial covers
Column with practical examples to demonstrate its usage in file
operations.
Column Property Overview
The Column property provides the current column position in a line
of text. It's available through TextStream objects created by
FileSystemObject. The property is particularly useful for parsing
structured text files.
Key features include automatic position tracking and line-based counting. It
resets to 1 at the start of each new line. Column works with both
reading and writing operations. Understanding this property helps create robust
file processing scripts.
Basic Column Tracking
This example demonstrates basic usage of the Column property while
reading a file. It shows how the column number changes as we read characters.
The script reads a file and outputs each character with its column position.
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("sample.txt", 1)
Do Until file.AtEndOfStream
char = file.Read(1)
WScript.Echo "Char: " & char & ", Column: " & file.Column
Loop
file.Close
Set fso = Nothing
The script opens "sample.txt" and reads it character by character. For each
character, it outputs the character and its column position. The
Column property automatically increments after each read operation.
Tracking Columns Across Lines
This example shows how the Column property behaves across multiple
lines. It demonstrates the automatic reset to 1 at the start of each new line.
The script reads a multi-line file and tracks column positions.
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("multiline.txt", 1)
Do Until file.AtEndOfStream
line = file.ReadLine()
WScript.Echo "Line: " & line
WScript.Echo "Next line starts at column: " & file.Column
Loop
file.Close
Set fso = Nothing
The script reads "multiline.txt" line by line. After each ReadLine,
the Column property shows 1, indicating the start of a new line.
This demonstrates how column counting resets after line breaks.
Writing with Column Tracking
This example demonstrates using the Column property while writing to
a file. It shows how column position updates during write operations. The script
writes text while tracking the current column position.
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.CreateTextFile("output.txt")
file.Write "Hello"
WScript.Echo "After 'Hello': " & file.Column
file.Write " World"
WScript.Echo "After ' World': " & file.Column
file.WriteLine "!"
WScript.Echo "After new line: " & file.Column
file.Close
Set fso = Nothing
The script creates "output.txt" and writes text while monitoring column
positions. After each write operation, it displays the current column. The
WriteLine method resets the column to 1 for the next line.
Column Position in Error Handling
This example shows how the Column property can assist in error
handling. It helps identify the exact position of problematic data in a file.
The script parses a CSV file and reports errors with column positions.
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("data.csv", 1)
Do Until file.AtEndOfStream
char = file.Read(1)
If Not IsNumeric(char) And char <> "," Then
WScript.Echo "Error at column " & file.Column & ": '" & char & "'"
End If
Loop
file.Close
Set fso = Nothing
The script checks each character in "data.csv" for numeric values or commas. When it finds an invalid character, it reports the error with the column position. This precise error reporting helps in debugging file format issues.
Advanced Column Tracking
This example demonstrates advanced column tracking with custom delimiters. It
shows how to use Column with Skip and
SkipLine methods. The script processes a file with specific format
requirements.
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("formatted.txt", 1)
Do Until file.AtEndOfStream
If file.Column = 1 Then
header = file.ReadLine()
WScript.Echo "Header: " & header
Else
file.Skip(5) ' Skip 5 columns
data = file.Read(10)
WScript.Echo "Data: " & data
End If
Loop
file.Close
Set fso = Nothing
The script processes "formatted.txt" with headers at column 1. It skips 5
columns after headers and reads 10 characters of data. The Column
property helps identify header lines and position the read operations precisely.
Source
TextStream Object Documentation
In this article, we have explored the Column property in VBScript,
covering its usage and practical applications. From basic position tracking to
advanced file processing, these examples demonstrate precise column management.
With this knowledge, you can enhance your file handling scripts with accurate
position tracking.
Author
List all VBScript tutorials.