bueno.... tengo un problemilla
Tengo un formulario en el que clono objetos (load) con ciertas letritas y tal y como contienen gráficos pues a la hora de imprimir le envio el formulario (me.PrintForm)
El problema aparece cuando supera el tamaño de un folio, puesto que solo imprime lo que se ve y no el contenido completo del formulario.
Por lo tanto lo que he intentado es clonar también el formulario y cada vez que se llene uno pues crear un clon del formulario clase (plantilla)
Pero visto los resultados que he obtenido con ésto (bastante inestable y casi imposible de manejar) me ando planteando soluciones, que las tiene que haber, más sencillas
¿a alguien se le ocurre alguna otra cosa?
y si pusieras los objetos dentro de un picturebox y usas el objeto printer:
Printer.PaintPicture Picture1.Picture
con esto se supone que te imprime todo el contenido del PictureBox, o por lo menos es lo que le entendi a la ayuda del VB, espero te sirva de algo
¿alguien sabe cómo escribir lateralmente?
cada vez que le ordeno el print me salta una linea xD
es que sino no puedo utilizar dos fuentes en la misma linea y tal
lo del picture1.picture no puedo meter objetos dentro ya que su valor picture devuelve 0 sino tiene una imagen xd
arg !!
joer si que estoy ciego xD
Printer.CurrentX
Printer.CurrentY
to solventao xD
(espero ... :rolleyes:)
puedes poner un ";" después del print
mira si pones
printer.print "Mensaje"
printer.print "de prueba"
vas a tener un resultado así:
Mensaje
de prueba
pero si pones el ";"
printer.print "Mensaje";
printer.print "de prueba"
tienes un resultado así:
Mensaje de prueba
Cita de: CeLaYa en 22 Diciembre 2006, 22:14 PM
puedes poner un ";" después del print
mira si pones
printer.print "Mensaje"
printer.print "de prueba"
vas a tener un resultado así:
Mensaje
de prueba
pero si pones el ";"
printer.print "Mensaje";
printer.print "de prueba"
tienes un resultado así:
Mensaje de prueba
muchas gracias celaya no sabia lo del ;
quién tenga alguna duda que se mire ésto... xD
Grupos Google (http://groups.google.es/group/microsoft.public.es.vb/browse_thread/thread/f152770cf2914fc3/61b26507f777c78b%2361b26507f777c78b)
Me estoy volviendo loco xD
la impresora se pone a imprimir cuando le da la gana sin haber pulsado el segundo botón xD
El primer botón añade texto de impresión a la impresora
El segundo botón ordena imprimir.
Pero en el primer botón algo hace que imprima el texto y nose que es, al principio pensaba que eran las coordenadas, que me salia del folio y tal pero he marcado un margen y me lo sigue haciendo, ¿alguien sabe que puede ser?
Private Sub Command1_Click()
Dim nx As Long
Dim ny As Long
Dim i As Integer
Dim k As Integer
nx = 0
ny = 0
For k = 1 To 30
'cabeceras
nx = 0
ny = ny + 100
Printer.CurrentX = nx
Printer.CurrentY = ny
Printer.FontName = "MS Sans Serif"
Printer.FontSize = 8
Printer.Print k & " Lineas imprimidas"
ny = ny + 100
For i = 1 To 5
Printer.CurrentX = nx
Printer.CurrentY = ny + 125
Printer.FontName = "Verdana"
Printer.FontSize = 28
Printer.Print Me.label1.Caption
Printer.CurrentX = nx + 600
Printer.CurrentY = ny + 725 '600+125
Printer.FontName = "MS Sans Serif"
Printer.FontSize = 8
Printer.Print " " & Me.label2.Caption
nx = nx + 1900
Next i
ny = Printer.CurrentY
MsgBox "valor final " & ny
If ny >= 15000 Then
'nueva página
Printer.NewPage
ny = 0
MsgBox "Pasamos a la página siguiente "
End If
Next k
End Sub
Private Sub Command2_Click()
'mandamos imprimir
Printer.EndDoc
End Sub
es por el "Printer.NewPage", se supone que los datos son enviados a la impresora cuando pones el EndDoc, porque con eso le dices a la impresora que has "terminado" la impresión, pero me he encontrado que si pones el NewPage, te manda la página que acabas de crear, no se si sea algún Bug de Printer, o tenga ese comportamiento porque el método Newpage "termina" la página actual y comienza otra nueva.
pero se supone que el newpage no envia los datos a la impresora, simplemente los va guardando en memoria...no?
hasta que no sales del programa (lo cual dispara un enddoc) o ejecutas el enddoc se supone que los datos no se envian...
ademas lo de imprimir a su bola no lo hace siempre, debe haber algo por ahi que dictamine cuando tiene que imprimir que no soy capaz de ver xD
donde guarda el buffer la impresora?
si te fijas en tu impresora, cuando ejecutes lo del command1, te va a formar un trabajo de impresión y lo tendra en espera hasta que le des EndDoc
Cita de: CeLaYa en 23 Diciembre 2006, 15:30 PM
si te fijas en tu impresora, cuando ejecutes lo del command1, te va a formar un trabajo de impresión y lo tendra en espera hasta que le des EndDoc
ya me fije pero es k sin darle a enddoc el mamonazo se pone a imprimir xd
y si en la configuración de la impresora habilitas la opción de "Imprimir cuando la ultima hoja haya entrado en la cola"
Cita de: CeLaYa en 23 Diciembre 2006, 17:37 PM
y si en la configuración de la impresora habilitas la opción de "Imprimir cuando la ultima hoja haya entrado en la cola"
pero es que a veces lo hace y a veces no!! xD
donde se encuentra esa opción de la impresora y como se toquitea desde visual porque la mia no la tiene xD
adjunto un ejemplo bastante básico que encontre para sacar las propiedades de la impresora y tal
DESCARGAR EJEMPLO (http://www.badongo.com/file/1910344)
Adjunto también las constantes que tiene la impresora
Modo de color de la impresora
Constante Valor Descripción
vbPRCMMonochrome 1 Resultado en monocromo
vbPRCMColor 2 Resultado en color
Impresión a doble cara
Constante Valor Descripción
vbPRDPSimplex 1 Impresión por una cara
vbPRDPHorizontal 2 Impresión horizontal por las dos caras
vbPRDPVertical 3 Impresión vertical por las dos caras
Orientación del papel
Constante Valor Descripción
vbPRORPortrait 1 Los documentos se imprimen con la parte superior en el lado estrecho del papel
vbPRORLandscape 2 Los documentos se imprimen con la parte superior en el lado ancho del papel
Calidad de impresión
Constante Valor Descripción
vbPRPQDraft -1 Calidad de impresión en modo borrador
vbPRPQLow -2 Calidad baja de impresión
vbPRPQMedium -3 Calidad de impresión media
vbPRPQHigh -4 Calidad de impresión alta
Propiedad PaperBin
Constante Valor Descripción
vbPRBNUpper 1 Utiliza papel de la bandeja superior
vbPRBNLower 2 Utiliza papel de la bandeja inferior
vbPRBNMiddle 3 Utiliza papel de la bandeja media
vbPRBNManual 4 Espera la inserción manual de cada hoja de papel
vbPRBNEnvelope 5 Utiliza sobres del alimentador de sobres
vbPRBNEnvManual 6 Utiliza sobres del alimentador de sobres, pero espera la inserción manual
vbPRBNAuto 7 (Predeterminado) Utiliza papel de la bandeja predeterminada actual
vbPRBNTractor 8 Utiliza papel suministrado por un alimentador de tracción
vbPRBNSmallFmt 9 Utiliza papel de un alimentador de papel pequeño
vbPRBNLargeFmt 10 Utiliza papel de una bandeja de papel grande
vbPRBNLargeCapacity 11 Utiliza papel de un alimentador de gran capacidad
vbPRBNCassette 14 Utiliza papel del cartucho de casete adjunto
Propiedad PaperSize
Constante Valor Descripción
vbPRPSLetter 1 Carta, 216 x 279 mm
vbPRPSLetterSmall 2 +A611Carta pequeña, 216 x 279 mm
vbPRPSTabloid 3 Tabloide, 279 x 432 mm
vbPRPSLedger 4 Doble carta, 432 x 280 mm
vbPRPSLegal 5 Oficio, 216 x 356 mm
vbPRPSStatement 6 Estamento, 140 x 216 mm
vbPRPSExecutive 7 Ejecutivo, 184 x 254 mm
vbPRPSA3 8 A3, 297 x 420 mm
vbPRPSA4 9 A4, 210 x 297 mm
vbPRPSA4Small 10 A4 pequeño, 210 x 297 mm
vbPRPSA5 11 A5, 148 x 210 mm
vbPRPSB4 12 B4, 250 x 354 mm
vbPRPSB5 13 B5, 182 x 257 mm
vbPRPSFolio 14 Folio, 216 x 330 mm
vbPRPSQuarto 15 Cuarto, 215 x 275 mm
vbPRPS1&H14 16 254 x 356 mm
vbPRPS11x17 17 279 x 431 mm
vbPRPSNote 18 Nota, 216 x 279 mm
vbPRPSEnv9 19 Sobre Nº 9, 98 x 225 mm
vbPRPSEnv10 20 Sobre Nº 10, 105 x 241 mm
vbPRPSEnv11 21 Sobre Nº 11, 114 x 264 mm
vbPRPSEnv12 22 Sobre Nº 12, 114 x 279 mm
vbPRPSEnv14 23 Sobre Nº 14, 127 x 292 mm
vbPRPSCSheet 24 Hoja tamaño C
vbPRPSDSheet 25 Hoja tamaño D
vbPRPSESheet 26 Hoja tamaño E
vbPRPSEnvDL 27 Sobre DL, 110 x 220 mm
vbPRPSEnvC3 29 Sobre C3, 324 x 458 mm
vbPRPSEnvC4 30 Sobre C4, 229 x 324 mm
vbPRPSEnvC5 28 Sobre C5, 162 x 229 mm
vbPRPSEnvC6 31 Sobre C6, 114 x 162 mm
vbPRPSEnvC65 32 Sobre C65, 114 x 229 mm
vbPRPSEnvB4 33 Sobre B4, 250 x 353 mm
vbPRPSEnvB5 34 Sobre B5, 176 x 250 mm
vbPRPSEnvB6 35 Sobre B6, 176 x 125 mm
vbPRPSEnvItaly 36 Sobre, 110 x 230 mm
vbPRPSEnvMonarch 37 Sobre Monarca, 98 x 190 mm
vbPRPSEnvPersonal 38 Sobre, 110 x 230 mm
vbPRPSFanfoldUS 39 Continuo USA estándar, 310 x 280 mm
vbPRPSFanfoldStdGerman 40 Continuo alemán estándar, 216 x 305 mm
vbPRPSFanfoldLglGerman 41 Continuo alemán oficio, 216 x 330 mm
vbPRPSUser 256 Definido por el usuario
Sacado de MSDN