cambiar impresora predeterminada en common dialog
hola amigos he añadido a mi proyecto un common dialog, pero al seleccionar una impresora distinta cada vez que pulso mi boton imprimir me coge la impresora que selecciono por primera vez, no cambia. Por favor lo necesitaba para el viernes ayudadme pronto
Bueno el commondialog lo unico que hace es coger una direccion, despues deberias ejecutar la sentencia con la que configuras la impresora y ponerla la direccion que has guardado en el commondialog la direccion se guarda en commondialog1.filename
SUERTE!!!
SUERTE!!!
Por tu mensaje entiendo que en algun lado del programa configuras la impresora y que eso si te funciona y que tu problema viene ala hora de intentarlo con el common dialog, escribiendo esto me acordado que esistia la opcion para abrir el cuadro dialogo tipico de la impresora yo creia que lo usavas para ver la direccion de la impresora y despues usavas una api o algo asi.
Esta es la opcion para abrir el cuadro dialogo:
CommonDialog1.ShowPrinter
Creo que me liado y nose muy bien que es lo que quieres, jejejje
Esta es la opcion para abrir el cuadro dialogo:
CommonDialog1.ShowPrinter
Creo que me liado y nose muy bien que es lo que quieres, jejejje
Mira, te pongo el codigo que tengo.
Private Sub cmdImprimir_Click()
Dim var As Boolean
cdl_control.Flags = cdlPDDisablePrintToFile
cdl_control.ShowPrinter
cdl_control.Orientation = cdlLandscape
cdl_control.PrinterDefault = True
On Error Resume Next
Printer.Width = 297
If Err = 482 Then
MsgBox "No hay impresora. No se ha podido imprimir la información", vbCritical, "ERROR"
Exit Sub
End If
Printer.Height = 210
Printer.Orientation = 2
cmdImprimir.Visible = False
cmdSalir.Visible = False
frameRegistros.Caption = "Notas en Ficha Impresa"
var = Flechas_Bool
Flechas_Bool = False
FlechasVisibles (Flechas_Bool)
lblRegistrosAc.Visible = False
lblregistros.Visible = False
txtRegistrosAc.Visible = False
txtRegistros.Visible = False
lblObservaciones.Enabled = True
PrintForm
cmdImprimir.Visible = True
cmdSalir.Visible = True
If var Then
Flechas_Bool = True
End If
FlechasVisibles (Flechas_Bool)
lblRegistrosAc.Visible = True
lblregistros.Visible = True
txtRegistrosAc.Visible = True
txtRegistros.Visible = True
frameRegistros.Caption = "Registros"
Printer.EndDoc
End Sub
Muchas gracias por ayudarme!
Private Sub cmdImprimir_Click()
Dim var As Boolean
cdl_control.Flags = cdlPDDisablePrintToFile
cdl_control.ShowPrinter
cdl_control.Orientation = cdlLandscape
cdl_control.PrinterDefault = True
On Error Resume Next
Printer.Width = 297
If Err = 482 Then
MsgBox "No hay impresora. No se ha podido imprimir la información", vbCritical, "ERROR"
Exit Sub
End If
Printer.Height = 210
Printer.Orientation = 2
cmdImprimir.Visible = False
cmdSalir.Visible = False
frameRegistros.Caption = "Notas en Ficha Impresa"
var = Flechas_Bool
Flechas_Bool = False
FlechasVisibles (Flechas_Bool)
lblRegistrosAc.Visible = False
lblregistros.Visible = False
txtRegistrosAc.Visible = False
txtRegistros.Visible = False
lblObservaciones.Enabled = True
PrintForm
cmdImprimir.Visible = True
cmdSalir.Visible = True
If var Then
Flechas_Bool = True
End If
FlechasVisibles (Flechas_Bool)
lblRegistrosAc.Visible = True
lblregistros.Visible = True
txtRegistrosAc.Visible = True
txtRegistros.Visible = True
frameRegistros.Caption = "Registros"
Printer.EndDoc
End Sub
Muchas gracias por ayudarme!
Estoy en ello cuando termine de comprobar el codigo y pensar solucion te lo comunico
Bueno despues de ver tu codigo me parece que esta todo correcto lo unico que puede probar es la forma de imprimir pueba con: Printer.Print Form1.Form (suponiendo que es form1 lo que quieres imprimir)
SUERTE!!!
SUERTE!!!