La Web del Programador: Comunidad de Programadores
 
    Pregunta:  64678 - PREVIEW CON EL OBJETO PRINTER
Autor:  Dante Morales
Hola. Soy novato y necesito saber cómo sería un código (o que que sentencias y/o propiedades o métodos) puedo lograr ver en pantalla lo que posteriormente enviaría a la impresora. Sería una vista preliminar de los datos a imprimir antes de ejecutar EndDoc. Desde ya, muchas gracias.

  Respuesta:  Fernando Fumero
Si lo que vas a enviar a imprimir es solo texto, lo que Yo hago es primero enviar todo a un archivo .TXT, luego leo dicho archivo y lo envío a imprimir.

Creamos un nuevo proyecto con dos formularios, Form1 y Form2 y....

En formulario 1: Rutina para salvar los datos de un TextBox en una archivo .TXT, creamos un TextoBox, con Multiline=true y ScrollBars=3 - Both y agregamos dos CommandButton, uno con el nombre=CMD_GUARDAR y otro con el nombre CMD_PREVIEW, le copias el siguiente código.......

Option Explicit

Private Sub Form_Load()
Text1.Text = ""
End Sub

Private Sub CMD_GUARDAR_Click()
Dim CANAL As Integer
CANAL = FreeFile
Open App.Path & "PREVIEW.TXT" For Output As CANAL
Print #CANAL, Text1.Text
Close #CANAL
End Sub

Private Sub CMD_PREVIEW_Click()
Form2.Show
End Sub
------------------------------------------------------------------------

En formulario 2: Rutinas para preview e imprimir. Creamos un TextBox, con Multiline=true y ScrollBars=3 - Both y agregamos un CommandButton con el nombre=CMD_IMPRIMIR y le copias el siguiente código.......
.....

Option Explicit

Private Sub Form_Load()
Dim LINEA As String
Dim CANAL As Integer
TXT_PREVIEW.Text = ""
CANAL = FreeFile
Open App.Path & "PREVIEW.TXT" For Input As CANAL
While Not EOF(CANAL)
Line Input #CANAL, LINEA
TXT_PREVIEW.Text = TXT_PREVIEW.Text & LINEA & vbCrLf
Wend
Close #CANAL
End Sub

Private Sub CMD_IMPRIMIR_Click()
Printer.Print TXT_PREVIEW.Text
Printer.EndDoc
End Sub

NOTA: Tienes que salvar el proyecto en una carpeta antes de ejecutarlo.

Cortesía de FUMERO CORP, --- [email protected] ---