Ver Mensaje Individual
  #6 (permalink)  
Antiguo 17/10/2007, 19:43
Manu_Leon
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 2 meses
Puntos: 2
Re: problemas al cambiar de impresora

Hola de nuevo. Yo ya pude solucionar el problema. Al final tuve que prescindir del CommonDialog. Por lo visto tiene un error y si haces algunos cambios a las propiedades de la impresora desde código, ya no funciona bien.

Lo que si funciona es usar una sentencia como la sigueinte:


Set Printer = Printers(i)
Sólo debes conocer los valores del array Printers()
Abajo te pongo un ejemplo.

Lo que yo hice fue lo siguiente:
Código:
'pongo en un formulario aparte una lista de todas las impresoras:

Private Sub Form_load()
Dim i As Integer
    ' recorre las impresoras del sistema y las añade a la lista
    For i = 0 To Printers.Count - 1
        List1.AddItem Printers(i).DeviceName
    Next
End Sub

Private Sub Command1_Click()
Dim Prt As Printer
 If List1.ListIndex <> -1 Then
    ' Establece la impresora que se utilizará para imprimir
    For Each Prt In Printers
        If Prt.DeviceName = List1.Text Then
            Set Printer = Prt
        End If
    Next

       MsgBox List1.Text & " Seleccionada.", vbInformation, "Info"

        
    End If
Form5.Hide

Un saludo y espero que te sirva.