Hola a todos tengo un probema que me esta matando. Tengo un listview y un boton para imprimir el listview. Ahora lo que sucede es que en el listview tengo datos numericos y necesito que al imprimirse se justifiquen a la derecha.
en las propiedades de los columnheaders ya los Alinee a la derecha pero al imprimirlos no salen como deberia. Si alguien puede darme una mano le agradeceria mucho. Aca esta el codigo que uso para imprimir:
 
Public Sub Imprimir_ListView(ListView As ListView)
Dim LItem As ListItem
Dim i As Integer, AnchoCol As Single, Espacio As Integer, x As Integer
 
  AnchoCol = 0
  'Recorremos desde la primer columna hasta la última para almacenar el ancho total
  For i = 1 To ListView.ColumnHeaders.Count
     AnchoCol = AnchoCol + ListView.ColumnHeaders(i).Width
  Next
 
  Espacio = 0
 
  'Encabezado de ejemplo
  Printer.Print " Liquidacion de cheques " & "     " & Format(Date, "dd/mm/yyyy")
 
  Printer.Print
 
  'Imprime una línea
  Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
 
  With ListView
 
  'Acá se imprimen los encabezados del ListView
  For i = 1 To .ColumnHeaders.Count
      Espacio = Espacio + CInt(.ColumnHeaders(i).Width * Printer.ScaleWidth / AnchoCol)
      Printer.Print ListView.ColumnHeaders(i).Text;
      Printer.CurrentX = Espacio
  Next
 
  Printer.Print
 
  'Imprime una línea
  Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
 
  'Imprime Línea en blanco
  Printer.Print
 
  'Este bucle recorre los items y subitems del ListView  y los imprime
  For i = 1 To .ListItems.Count
       Espacio = 0
 
       Set LItem = .ListItems(i)
       Printer.Print LItem.Text;
       'Recorremos las columnas
       For x = 1 To .ColumnHeaders.Count - 1
             Espacio = Espacio + CInt(.ColumnHeaders(x).Width * Printer.ScaleWidth / AnchoCol)
             Printer.CurrentX = Espacio
             Printer.Print LItem.SubItems(x);
       Next
 
       'Otro espacio en blanco
       Printer.Print
  Next
 
  End With
 
  Printer.Print
  'Imprime la línea de final de impresión
  Printer.Line (Printer.CurrentX, Printer.CurrentY)-(Printer.ScaleWidth, Printer.CurrentY)
  Printer.Print
  'Texto del pie
  Printer.Print " Fin de la impresión "
'Comenzamos la impresión
  Printer.EndDoc
End Sub 
   
 

