¿Cómo puedo imprimir en visual basic ...?

Hola.
Estoy haciendo un programita para generar archivos *.prn que se guardan
en una ruta y después los envío a imprimir, la forma en que trato de enviar imprimir dichos archivos es la siguiente: (todo seguido.)
Filecopy
"C:\Archivo.prn", "\\Server\HPLJ4000"
Pero me sale error. Estoy intendo mandarlo imprimir igual que si estuviera en MS-DOS, pero desde Visual Basic 6.0, ¿mi sintaxis esta mal? ¿O cómo puedo hacer esto?
Gracias. :0)
1

1 respuesta

1
Respuesta de
Hola
Prueba ha abrir el puerto de la impresora como si fuera un archivo y le escribes los datos del archivo *.prn, por ejemplo yo para probar he creado un archivo prn y luego he utilizado el siguiente código:
Private Sub Command1_Click()
Dim Datos As String
Dim intArchivo As Integer
Dim strArchivo As String
intArchivo = FreeFile
strArchivo = "C:\Windows\escritorio\prueba.prn"
Datos = String(FileLen(strArchivo), 0)
Open strArchivo For Binary As intArchivo
Get intArchivo, , Datos
Close intArchivo
intArchivo = FreeFile
Open "LPT1" For Binary As intArchivo
Put intArchivo, , Datos
Close intArchivo
End Sub
Tu deberas poner el puerto de red de la impresora en vez de LPT1
Prueba con esto y si te funciona cuéntame a mi me funciono a la primera (con la ayuda del Churrero(un colega en C++))
Saludos y hasta la próxima
Hola.
Gracias por la solución. Lo siguiente lo encontré en Internet y tiene la misma función (para ser sincera, no lo comprendí muy bien), tu ayuda funciono perfecta, y sólo cambie LPT1 como lo sugeriste.
X As Integer
Open strArchivoPRN For Binary As #1
Open "LPT1" For Binary As #2
'calculate size of file and amount left over
numLoops = LOF(1) \ MaxSize
LeftOver = LOF(1) Mod MaxSize
'initialize variables and loop
Chunk = Space$(MaxSize)
For X = 1 To numLoops
Get #1, , Chunk
Put #2, , Chunk
Next
'grab what's leftover
Chunk = Space$(LeftOver)
Get #1, , Chunk
Put #2, , Chunk
Close #2: Close #1
Chunk = "": numLoops = 0: LeftOver = 0:
Voy a estudiar el código que me enviaste y
Gracias de nueva cuenta. :o)
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Visual Basic o hacer tu propia pregunta: