Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Gran problema con impresora

Estas en el tema de Gran problema con impresora en el foro de Visual Basic clásico en Foros del Web. Tengo un documento que deseo imprimir. Tenia una configuracion y se la cambie mediante este codigo le agande la letra y reduci los margenes: Case ...
  #1 (permalink)  
Antiguo 29/07/2005, 09:57
Avatar de netorres  
Fecha de Ingreso: marzo-2004
Ubicación: 32 kms de Santiago a la costa
Mensajes: 132
Antigüedad: 20 años, 1 mes
Puntos: 0
Gran problema con impresora

Tengo un documento que deseo imprimir. Tenia una configuracion y se la cambie mediante este codigo le agande la letra y reduci los margenes:


Case "Impresora"
Hoja1.ActiveSheet.Protection.Enabled = False
CDial1.CancelError = True
On Error Resume Next
CDial1.ShowPrinter
If Err.Number > 0 Then Exit Sub

strArchivo = "C:\Mis documentos\Prueba.xls"
Hoja1.ActiveSheet.Export strArchivo, ssExportActionNone

Set xl = CreateObject("Excel.application")
xl.Workbooks.Open strArchivo

With xl.Worksheets(1).PageSetup
'Tamaño de la hoja Encabezamiento y Pie de la página
'.LeftMargin = Application.InchesToPoints(0.1)
'.LeftMargin = Application.InchesToPoints(0.5)
'.RightMargin = Application.InchesToPoints(0.1)
'.TopMargin = Application.InchesToPoints(0.5)
'.BottomMargin = Application.InchesToPoints(0.9)
'.HeaderMargin = Application.InchesToPoints(0.1)
'.FooterMargin = Application.InchesToPoints(0.1)

.LeftMargin = Application.InchesToPoints(dblMarizq / 10)
.RightMargin = Application.InchesToPoints(dblMarder / 10)
.TopMargin = Application.InchesToPoints(dblMarsup / 10)
.BottomMargin = Application.InchesToPoints(dblMarinf / 10)
.HeaderMargin = Application.InchesToPoints(dblMarenc / 10)
.FooterMargin = Application.InchesToPoints(dblMarpie / 10)
.Zoom = intZoom

'Título del Encabezamiento de la página
.LeftHeader = "VIÑA LOS VASCOS S.A."
.CenterHeader = "&10&B" & "EXISTENCIA EN BODEGA" & Chr(13) & DBCombo1(3).Text & "&B"
.RightHeader = "&D &T" & Chr(13) & "Pág. &P/&N"

'Título del Pie de la página
.LeftFooter = "&8 SELECCION: Orden:Rubro, Rubro:Todos Grupo:Todos" & Chr(13) & _
" Unidad:Todas Lote: Todos" & Chr(13) & _
" Estado:Vigentes"
End With

'Busca Salto de Página
intSalto = 0
For J = 1 To intFila
If xl.ActiveSheet.Rows(J).PageBreak = xlPageBreakAutomatic Then
intSalto = J - 1
J = intFila
End If
Next J
intSalpag = Int((intFila + (Int(intFila / intSalto))) / intSalto)
If intSalpag > 0 Then
xl.Rows(1).Copy
For J = 1 To intSalpag
xl.Rows((intSalto * J) + 1).Insert
xl.Rows((intSalto * J) + 1).Paste
xl.Rows(1).Copy
Next
End If

If CDial1.FromPage = 0 And CDial1.ToPage = 0 Then
xl.Worksheets.PrintOut , , CDial1.Copies, , Printer.DeviceName
Else
xl.Worksheets.PrintOut CDial1.FromPage, CDial1.ToPage, CDial1.Copies, , Printer.DeviceName
End If
xl.Application.DisplayAlerts = False
'xl.Visible = True
xl.Workbooks.Close
Set xl = Nothing

Case "Excel"
strArchivo = "C:\Mis documentos\Prueba.xls"
Hoja1.ActiveSheet.Export strArchivo, ssExportActionOpenInExcel

Case "Imprimir Pantalla"
On Error Resume Next
Me.PrintForm
If Err.Number > 0 Then
strOK = MsgBox("Impresora no conectada", vbOKOnly, "Error")
End If

Case "Configuración"
Panel2.Visible = False
strF8 = "F8"
FormCL.Show




Lo compile y a mi me imprime super bien en todas las impresoras en donde trabajo... (laser, inyeccion a tinta, matriz de punto) osea conserva en todas el cambio realizado

En la parte configuracion tiene un INI donde modifica los cambios.
[Listados]
Estilo de letra=Arial
Tamano de letra=8
Ancho del listado=79
Margen superior=5
Margen inferior=9
Margen izquierdo=0
Margen derecho=0
Margen encabezado=1
Margen pie=5
Lineas de division=0
Encabezados de columna=0
Encabezados de fila=0
Ajusta al tamano de la letra=1
Cuadricula listado=0
Color encabezado=16776960
Color letras=0
Color subtotales=255
Color cuadriculado=0


Si yo modifico aqui la configuracion y compilo....

En el lugar donde tiene que funcionar solo copio el ejecutable......

Debo copiar algo mas???

el INI con el prueba.xls???

los dos o uno???


Porque da una error y se cae el programa


NO SE PORQUE
__________________
Contento Señor contento :-) (Sto. Padre Alberto Hurtado)
  #2 (permalink)  
Antiguo 29/07/2005, 11:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación

Cita:
Iniciado por netorres
Tengo un documento que deseo imprimir. Tenia una configuracion y se la cambie mediante este codigo le agande la letra y reduci los margenes:


Case "Impresora"
Hoja1.ActiveSheet.Protection.Enabled = False
CDial1.CancelError = True
On Error Resume Next
CDial1.ShowPrinter
If Err.Number > 0 Then Exit Sub

strArchivo = "C:\Mis documentos\Prueba.xls"
Hoja1.ActiveSheet.Export strArchivo, ssExportActionNone

Set xl = CreateObject("Excel.application")
xl.Workbooks.Open strArchivo

With xl.Worksheets(1).PageSetup
'Tamaño de la hoja Encabezamiento y Pie de la página
'.LeftMargin = Application.InchesToPoints(0.1)
'.LeftMargin = Application.InchesToPoints(0.5)
'.RightMargin = Application.InchesToPoints(0.1)
'.TopMargin = Application.InchesToPoints(0.5)
'.BottomMargin = Application.InchesToPoints(0.9)
'.HeaderMargin = Application.InchesToPoints(0.1)
'.FooterMargin = Application.InchesToPoints(0.1)

.LeftMargin = Application.InchesToPoints(dblMarizq / 10)
.RightMargin = Application.InchesToPoints(dblMarder / 10)
.TopMargin = Application.InchesToPoints(dblMarsup / 10)
.BottomMargin = Application.InchesToPoints(dblMarinf / 10)
.HeaderMargin = Application.InchesToPoints(dblMarenc / 10)
.FooterMargin = Application.InchesToPoints(dblMarpie / 10)
.Zoom = intZoom

'Título del Encabezamiento de la página
.LeftHeader = "VIÑA LOS VASCOS S.A."
.CenterHeader = "&10&B" & "EXISTENCIA EN BODEGA" & Chr(13) & DBCombo1(3).Text & "&B"
.RightHeader = "&D &T" & Chr(13) & "Pág. &P/&N"

'Título del Pie de la página
.LeftFooter = "&8 SELECCION: Orden:Rubro, Rubro:Todos Grupo:Todos" & Chr(13) & _
" Unidad:Todas Lote: Todos" & Chr(13) & _
" Estado:Vigentes"
End With

'Busca Salto de Página
intSalto = 0
For J = 1 To intFila
If xl.ActiveSheet.Rows(J).PageBreak = xlPageBreakAutomatic Then
intSalto = J - 1
J = intFila
End If
Next J
intSalpag = Int((intFila + (Int(intFila / intSalto))) / intSalto)
If intSalpag > 0 Then
xl.Rows(1).Copy
For J = 1 To intSalpag
xl.Rows((intSalto * J) + 1).Insert
xl.Rows((intSalto * J) + 1).Paste
xl.Rows(1).Copy
Next
End If

If CDial1.FromPage = 0 And CDial1.ToPage = 0 Then
xl.Worksheets.PrintOut , , CDial1.Copies, , Printer.DeviceName
Else
xl.Worksheets.PrintOut CDial1.FromPage, CDial1.ToPage, CDial1.Copies, , Printer.DeviceName
End If
xl.Application.DisplayAlerts = False
'xl.Visible = True
xl.Workbooks.Close
Set xl = Nothing

Case "Excel"
strArchivo = "C:\Mis documentos\Prueba.xls"
Hoja1.ActiveSheet.Export strArchivo, ssExportActionOpenInExcel

Case "Imprimir Pantalla"
On Error Resume Next
Me.PrintForm
If Err.Number > 0 Then
strOK = MsgBox("Impresora no conectada", vbOKOnly, "Error")
End If

Case "Configuración"
Panel2.Visible = False
strF8 = "F8"
FormCL.Show




Lo compile y a mi me imprime super bien en todas las impresoras en donde trabajo... (laser, inyeccion a tinta, matriz de punto) osea conserva en todas el cambio realizado

En la parte configuracion tiene un INI donde modifica los cambios.
[Listados]
Estilo de letra=Arial
Tamano de letra=8
Ancho del listado=79
Margen superior=5
Margen inferior=9
Margen izquierdo=0
Margen derecho=0
Margen encabezado=1
Margen pie=5
Lineas de division=0
Encabezados de columna=0
Encabezados de fila=0
Ajusta al tamano de la letra=1
Cuadricula listado=0
Color encabezado=16776960
Color letras=0
Color subtotales=255
Color cuadriculado=0


Si yo modifico aqui la configuracion y compilo....

En el lugar donde tiene que funcionar solo copio el ejecutable......

Debo copiar algo mas???

el INI con el prueba.xls???

los dos o uno???


Porque da una error y se cae el programa


NO SE PORQUE
Depende de varios factores, donde te da el error, como llamas al fichero INI....
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 29/07/2005, 12:43
Avatar de netorres  
Fecha de Ingreso: marzo-2004
Ubicación: 32 kms de Santiago a la costa
Mensajes: 132
Antigüedad: 20 años, 1 mes
Puntos: 0
invent.ini y se encuentra en c:\windows\invent.ini
__________________
Contento Señor contento :-) (Sto. Padre Alberto Hurtado)
  #4 (permalink)  
Antiguo 29/07/2005, 12:43
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
ja. se me hace ilógico "David el Grande", ¿porque le das citar a una pregunta tan grande? para una respuesta de una sola linea, me hiciste bajar tranto con el scroll solo para ver una linea de respuesta..!!!!

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #5 (permalink)  
Antiguo 29/07/2005, 12:46
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
por cierto hablando del problema, empaquetado con el empaquetador de visual basic, nada cuesta, y lo instalas de plano no estas jalando un librería necesaria para hacerlo, algo muy importante es que dependiendo el excel que tengas en tu maquina ese mismo excel tiene que haber en la maquina que lo estas instalando..


nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #6 (permalink)  
Antiguo 29/07/2005, 15:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Cita:
Iniciado por GeoAvila
ja. se me hace ilógico "David el Grande", ¿porque le das citar a una pregunta tan grande? para una respuesta de una sola linea, me hiciste bajar tranto con el scroll solo para ver una linea de respuesta..!!!!

nos vemos..
Es que estoy acostumbrado a citar cuando hay solo un mensaje en el tema
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:43.