¿Qué código se utiliza para imprimir archivos en VB y cómo escribir la declaración?
Varios métodos de impresión en VB
1. Utilice el método de función de impresión simple PrintForm proporcionado por Visual Basic. Cuando aplica el método PrintForm de un formulario, Visual Basic envía el mapa de bits del formulario a la impresora actual. La ventaja de este enfoque es que casi no requiere programación, pero también tiene importantes inconvenientes. Lo más destacado es que cuando se imprimen gráficos de baja resolución en una impresora de alta resolución, los resultados son insatisfactorios y tienen alias. El siguiente código imprimirá el formulario en la impresora.
Private Sub Command1_Click() 'Imprimir usando PrintForm
Me.PrintForm 'Imprime el área visible del formulario
End Sub
2. Utilice objetos de impresora para resultados de alta resolución. Pero si desea producir una impresión compleja, la programación es más engorrosa. El objeto Impresora representa la impresora predeterminada del sistema. El objeto Impresora admite muchas propiedades y métodos admitidos por formularios y cuadros de gráficos. Los tres objetos tienen la capacidad de dibujar líneas y cuadros. Una aplicación puede utilizar el siguiente código para dibujar un cuadro de una pulgada cuadrada en un objeto Impresora. Está a dos pulgadas de la esquina superior izquierda. NOTA: La impresora mide la distancia en trozos. Hay 1440 twips por pulgada.
Printer.Line(2 *1440,2 *1440) -Step(1440,1440), ,B
La impresora, el formulario esclavo y el cuadro de gráficos tienen Circle, PaintPicture, Métodos Print, Pset, TextHeight, TextWidth. Con estos métodos, las aplicaciones pueden producir resultados de alta resolución para impresoras.
Para imprimir texto directamente, utilice el método Imprimir, consulte el siguiente código:
Printer.Print "Hello, China ComputerWorld!" ' Imprimir cadena
The Printer. El objeto también tiene Algunos formularios y cuadros de gráficos no tienen métodos:
NewPage le dice a la impresora que el programa ha terminado de enviar la página de salida actual y que el objeto Impresora debe comenzar una nueva página.
EndDoc le dice a VB que el programa ha terminado de crear el documento y VB debe enviarlo a una impresora física para imprimirlo.
KillDoc cancela el trabajo de impresión actual. Las aplicaciones deben finalizar cada trabajo de impresión especificado por EndDoc y KillDoc.
La propiedad Zoom se utiliza para definir el factor de escala para la salida impresa.
La propiedad Copias se utiliza para definir el número de copias a imprimir.
3. Utilice el método de transmitir directamente los datos a la impresora para su impresión. Hay dos formas de enviar datos a la impresora. La primera es con el método Print#, que es como escribir datos en un archivo. Otro método es escribir un puerto, pero en lugar de enviar texto, envía un lenguaje PCL específico. PCL significa Print Control Language. Es un lenguaje especial que utiliza códigos de escape para controlar acciones específicas de la impresora. Debido a que este método es demasiado engorroso, este artículo no lo presentará demasiado.
4. Si usa el control RichTextBox al programar, puede usar el método SelPrint del control para imprimir, que es muy simple de usar. El siguiente fragmento de código utiliza el método SelPrint del control RichTextBox para completar la impresión.
Private Sub Command3_Click() 'Método SelPrint
CommonDialog1.Flags=cdlPDReturnDC +cdlPDNoPageNums
Si RTF1.SelLength = 0 Entonces
' RTF1 es el control RichTextBox del formulario
CommonDialog1.Flags = CommonDialog1.Flags
+cdlPDAllPages
Else
CommonDialog1.Flags = CommonDialog1. Flags +
cdlPDSelection
Finalizar si
CommonDialog1.CancelError = True
En caso de error, reanudar siguiente
CommonDialog1 .ShowPrinter
Si Err.Number = cdlCancel entonces salga de Sub
Si Err.Number <> 0 entonces
Pitido
MsgBox "Error al imprimir el archivo."
&vbCrLf +Err.Description, vbOKOnly +vbExclamation,
"¡Error de impresión!"
Salir de Sub
End If
Printer.Print ""
RTF1.SelPrint CommonDialog1.hDC
'Imprime el área visible del control RTF1 p>
End Sub p>
El código anterior primero realiza la configuración de entrada y luego imprime. Si no se requiere ninguna configuración, es más sencillo utilizar el siguiente código:
RTF1.SelPrint Printer.hDC
'Imprimir el área visible del control RTF1
5. Puede llamar al servicio de automatización OLE proporcionado por Word 97 en VB y utilizar la potente función de impresión de Word 97 para completar la impresión en VB. El siguiente código ilustra cómo se integra VB con Word.
Private Sub Command4_Click() ' Llamar a Word para imprimir
Atenuar objWord como objeto
Const CLASSOBJECT = "Word.Application"
En caso de error, vaya a objError
Establezca objWord = CreateObject(CLASSOBJECT)
objWord.Visible = True
objWord.Documents.Add
Con objWord
.ActiveDocument.Paragraphs.Last.Range.Bold = False
.ActiveDocument.Paragraphs.Last.Range.Font.Size =20
.ActiveDocument Paragraphs.Last.Range.Font.Name =
"黑体"
.ActiveDocument.Paragraphs.Last.Range.Font.ColorIndex==4
ActiveDocument.Paragraphs.Last.Range.Text =
"¡Soy un lector del mundo de la informática!"
Termina con
Clipboard.Clear
.Clipboard.SetText
"¡Transfiere datos a WORD a través del portapapeles!"
objWord.Selection.Paste
objWord.PrintPreview = True 'Modo de vista previa
'objWord.PrintOut' ejecuta la impresión
'objWord.Quit' sale de Word
Salir de Sub
objError:
Si Err <> 429 Entonces
MsgBox Str $(Err) &Error $
Establecer objWord = Nothing
' Si no se puede crear el objeto de Word , salir p>
Salir del sub
De lo contrario
Continuar siguiente
Finalizar si
Fin del sub
6. Utilice VC para preparar el módulo DLL para completar la impresión. Llame a este módulo en VB e imprímalo usando métodos de programación mixtos. Dado que la programación de VC es engorrosa, no la discutiremos aquí.