• Lunes 23 de Diciembre de 2024, 04:47

Autor Tema:  Re: Saludos y problema para imprimir prn  (Leído 1366 veces)

tompl

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Saludos y problema para imprimir prn
« en: Miércoles 5 de Febrero de 2003, 13:47 »
0
Hola, he empezado hace una semana con esto del visual basic y poco poco he conseguido hacer una aplicación muy sencillita que pide una referencia, una cantidad y un numero de pedido y a través de ellos genera un código de barras.
Mi problema es a la hora de imprimir, ya que, después de generar un archivo prn lo mando a imprimir con una llamada a la orden print del shell, pero si por ejemplo lo pruebo en mi equipo que no tiene impresora y no imprime, cuando le doy otra vez al botón imprimir da un error porque el fichero está en uso (pero por lo menos que controlara el estado del fichero y dijero "Fichero Imprimiendose" o algo así). Además tendría que poner un textbox para introducir el número de etiquetas a imprimir e imprimir luego ese número de etiquetas y por más que he mirado no sé como hacerlo, si con un buble o como.
Os pego el código a ver si me podeis echar una mano.
Muchas gracias por vuestro tiempo.
Un saludo.

Private Sub Imprimir_Click()
Dim xref, xcan1, xcan2, xped, xtot As String

ref = datosref 'Coge los datos de los textbox
ped = datosped
can = datoscan1

xref = Left$(ref + " ", 15)
If IsNull(ped) Or ped = " " Then
ped = "0"
End If
xped = Left$(ped + " ", 10)
xcan1 = Format(can * 10, "0000000000")
xcan2 = Format(can, "#########.0")

xtot = xref + xcan1 + xped ' Concatenación de cadena referencia+cantidad+pedido

Dim fichero As Variant

fichero = "c:codbaretiqueta.prn" ' Envia a un fichero secuencial al disco
Open fichero For Output As #1
Print #1, "N"
Print #1, "B18,55,0,1,2,2,71,B," + Chr$(34) + xtot + Chr$(34)
Print #1, "A294,183,0,4,1,1,N," + Chr$(34) + "REFERENCIA.:" + Chr$(34)
Print #1, "A294,317,0,4,1,1,N," + Chr$(34) + "CANTIDAD:" + Chr$(34)
Print #1, "A272,471,0,4,1,1,N," + Chr$(34) + "NUMERO PEDIDO:" + Chr$(34)
Print #1, "A39,219,0,4,3,4,N," + Chr$(34) + ref + Chr$(34)
Print #1, "A177,355,0,4,3,4,N," + Chr$(34) + xcan2 + Chr$(34)
Print #1, "A207,510,0,4,2,2,N," + Chr$(34) + ped + Chr$(34)
Print #1, "P1"
Close #1


Call Shell("print c:codbaretiqueta.prn", vbHide) ' imprime el fichero creado en ascii


' limpia los controles de pantalla y se posiciona en la referencia
datosref = " "
datoscan1 = 0
datosped = " "
datosref.SetFocus


End Sub

tompl

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Saludos y problema para imprimir prn
« Respuesta #1 en: Jueves 6 de Febrero de 2003, 12:03 »
0
Bueno, como en ningún sitio obtengo respuesta, al final lo he hecho con un for, metiendo un textbox de número de etiquetas.

for i=1 to n (habiendo igualado n al textbox)
orden print
next

pero no sé si habrá otra forma más ortodoxa de hacerlo que no sea mandando 'n' veces la orden print... alguien sabe algo de esto?

salu2