para los que le sirva... y que quieran alinear texto en informes diseñados sin datareport o crystal report (a puro codigo)...
la idea: tomar el ancho de la cadena de texto que se imprime con TextWidth...el resultado es devuelto en TWIPS (al menos en mi caso)... luego este valor los divido por 567 (567 twips = 1 cm ) e imprimo...
he aqui un ejemplo: (dos Text y un command en un form)
Private Sub Command1_Click()
n1 = FormatCurrency(Text1, 0, vbFalse, vbFalse, vbTrue)
n2 = FormatCurrency(Text2, 0, vbFalse, vbFalse, vbTrue)
largo1 = TextWidth(n1)
largo2 = TextWidth(n2)
largo1 = largo1 / 567
largo2 = largo2 / 567
Printer.CurrentX = 20 - largo1
Printer.CurrentY = 6
Printer.Print n1
Printer.CurrentX = 20 - largo2
Printer.CurrentY = 7
Printer.Print n2
Printer.EndDoc
End Sub
e imprime alineado a la derecha...