cambiar impresora predeterminada en common dialog

teresa
31 de Mayo del 2004
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

Yuval
31 de Mayo del 2004
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!!!

teresa
31 de Mayo del 2004
¿Podrias ponerme un ejemplo? muchisimas gracias por ayudarme

Yuval
31 de Mayo del 2004
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

Teresa
31 de Mayo del 2004
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!

Yuval
31 de Mayo del 2004
Estoy en ello cuando termine de comprobar el codigo y pensar solucion te lo comunico

Yuval
31 de Mayo del 2004
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!!!

Teresa
31 de Mayo del 2004
vale muchas gracias por molestarte. SALUDOS!