En vb, cuando se utiliza Open LPT1 For Output As #1, la impresora virtual no se puede conectar. ¿Qué debo hacer? Me indica que no se encuentra el archivo.
Cuando programamos, si añadimos la función "imprimir" al programa, hará que el programa sea más completo y profesional. A continuación, proporciono varios métodos para escribir programas de impresión para su referencia.
1. Utilice la función de impresión simple método PrintForm proporcionada por Visual Basic
¿Cuando se utiliza el método PrintForm del formulario de aplicación, Visual Basic envía el mapa de bits del formulario actual a la impresora? La ventaja de este método 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 código es el siguiente:
Private Sub Command1_Click? 'Imprimir con PrintForm
Me.PrintForm 'Imprimir el área visible del formulario
p>
End Sub
2. Usar el objeto Impresora
¿Quiere 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 de las 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 usar el siguiente código para dibujar un cuadro de 1 pulgada cuadrada en el objeto Impresora. ¿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 la caja de gráficos tienen Círculo, PaintPicture, Print, Pset, Métodos TextHeight, TextWidth. Con estos métodos, la aplicación puede producir resultados de alta resolución para la impresora.
Para imprimir texto directamente, utilice el método Imprimir, consulte el siguiente código:
Printer.Print "¿Hola? China ComputerWorld?" 'Imprimir cadena
Objeto de impresora. también tiene Algunos formularios y cuadros de gráficos no tienen método:
NuevaPágina 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 que VB debe enviarlo a una impresora física para imprimirlo.
KillDoc cancela el trabajo de impresión actual. La aplicación debe finalizar cada trabajo de impresión especificado por EndDoc y KillDoc.
La propiedad Zoom se utiliza para definir el factor de escala para la impresión.
El atributo Copias se utiliza para definir el número de copias a imprimir.
3. Si usa el control RichTextBox al programar, ¿puede usar el método SelPrint del control para imprimir?
El código es el siguiente:
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
End If
CommonDialog1.CancelError = True
En caso de error, reanudar a continuación
CommonDialog1.ShowPrinter
Si Err.Number = cdlCancel, entonces salga de Sub
Si Err.Number lt;gt; 0 Entonces
Bip
MsgBox "Error al imprimir el archivo." amp; vbCrLf Err.Description? vbOKOnly vbExclamation?
Salir Sub
End If
Printer.Print ""
RTF1.SelPrint CommonDialog1.hDC 'Imprime el área visible de el control RTF1
End Sub
El código anterior primero realiza la configuración de entrada y luego imprime.
Si no se requiere configuración, ¿es más sencillo utilizar el siguiente código?
RTF1.SelPrint Printer.hDC 'Imprimir el área visible del control RTF1
4. llamar a la función proporcionada por Word 97 en el servicio de automatización OLE de VB. Utilice la poderosa función de impresión de Word 97 para completar la impresión de VB.
El código es el siguiente:
Subcomando privado4_Click '? Llamar a impresión de Word
Atenuar objWord como objeto
Const CLASSOBJECT = "Word.Application"
En caso de error Ir a objError
Establecer 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 = "黑体"<. /p>
.ActiveDocument.Paragraphs.Last. Range.Font.ColorIndex==4
.ActiveDocument.Paragraphs.Last.Range.Text = "¿Soy un lector de Computer World?" p>
Finalizar con
Clipboard.Clear
Clipboard.SetText "¿Transferir datos a WORD a través del portapapeles?"
objWord.Selection.Paste
objWord.PrintPreview = True 'Método de vista previa
'objWord.PrintOut' ejecuta la impresión
'objWord.Quit' sale de Word
Salir Sub
objError?
Si Err lt; 429 Entonces
MsgBox Str$?Err Error$
Establecer objWord = Nada 'Salir si no se puede crear el objeto de Word
Salir del sub
Else
Reanudar siguiente
Finalizar si
Fin del subtítulo