Para que te salgan las columnas bien alineadas, tienes que definir el punto horizontal en que quieres que comience la impresión de los datos de cada columna:
Código:
Printer.CurrentY = ValorParaLaLínea
Printer.CurrentX = ValorParaLaPrimeraColumna
Printer.Print DatoDeLaPrimeraColumna
Printer.CurrentX = ValorParaLaSegundaColumna
Printer.Print DatoDeLaSegundaColumna
Printer.CurrentX = ValorParaLaTerceraColumna
Printer.Print DatoDeLaTerceraColumna
Naturalmente, esto te resultará más fácil si manejas un Array (aCol(0), aCol(1), aCol(2)... - aDat(0), aDat(1), aDat(2)...) y puedas poner
Código:
Printer.CurrentY = ValorParaLaLínea
For i = 0 to xxx
Printer.CurrentX = aCol(i)
Printer.Print aDat(i)
Next i