Yo uso este para las matriciales y para ticket y me van bastante bien.
Private Sub Command1_Click()
On Error GoTo Impresora
Open "LPT1:" For Output As #1
Print #1,
Print #1, Tab(1); String(40, "=")
Print #1, Tab((40 - Len("COMPROBANTE DE VENTA")) \ 2); "COMPROBANTE DE VENTA"
Print #1, Tab(1); String(40, "=")
If Option1.Value = True Then
Print #1, Tab(1); "TICKET Nº: " & Val(txtNFactura.Text); Tab(40 - Len("TIPO : CONTADO")); "TIPO : CONTADO"
Else
Print #1, Tab(1); "TICKET Nº: " & Val(txtNFactura.Text); Tab(40 - Len("TIPO : CREDITO")); "TIPO : CREDITO"
End If
Print #1, Tab(1); "FECHA : " & Date; Tab(40 - Len("HORA : " & Time)); "HORA : " & Time
Print #1, Tab(1); String(40, "-")
Print #1, Tab(1); "R.U.C/C.I : " & txtCedula1.Text
Print #1, Tab(1); "CLIENTE : " & txtNombre1.Text
Print #1, Tab(1); String(40, "=")
Print #1, Tab(1); "CANT"; Tab(6); "P R O D U C T O"; Tab(26); "I.V.A"; Tab(34); "SUBTOT"
Print #1, Tab(1); String(40, "=")
For i = 1 To LTicket.ListItems.Count
Print #1, Tab(3 - Len(LTicket.ListItems(i).Text)); LTicket.ListItems(i).Text; Tab(6); Left(LTicket.ListItems(i).SubItems(1), 20); Tab(31 - Len(LTicket.ListItems(i).SubItems(2))); LTicket.ListItems(i).SubItems(2); Tab(40 - Len(Format(LTicket.ListItems(i).SubItems(3), "##,###"))); Format(LTicket.ListItems(i).SubItems(3), "##,###")
End If
Next i
Print #1, Tab(1); String(40, "=")
Print #1, Tab(15); "TOTAL : "; Tab(40 - Len(Format(CantidadTotal, "##,###"))); Format(CantidadTotal, "##,###")
Print #1, Tab(16); "------------------------"
Print #1, Tab(1); "Exenta : " & lblSubTotalExenta.Caption
Print #1, Tab(1); "I.V.A 5% : " & lblIVA10.Caption
Print #1, Tab(1); "I.V.A 10% : " & lblTotalIVA.Caption
Print #1,
Print #1, Tab((40 - Len("GRACIAS POR SU COMPRA!")) \ 2); "GRACIAS POR SU COMPRA!"
For i = 1 To 10
Print #1,
Next i
Close #1
Impresora:
Dim msgb
msgb = MsgBox("Error Nº : [ " & Err.Number & " ]" & " " & Err.Description, vbOKCancel + vbInformation)
End Sub
Lo mas bueno es que no configurar la hoja ni nada si necesitas mas espacio solo imprimes en blanco asi:
Print #1,
Saludos...