RE:Acceder a la colección Printers
Aquí te va un extracto de la Ayuda de Visual Basic para la colección Printers:
La colección Printers le permite consultar las impresoras disponibles de forma que pueda especificar la impresora predeterminada de su aplicación. Por ejemplo, quizá quiera saber cuál de las impresoras disponibles usa un determinado controlador de impresoras. El siguiente código comprueba todas las impresoras disponibles para encontrar la primera impresora cuya orientación de página sea vertical y después la establece como la impresora predeterminada:
Dim X As Printer
For Each X In Printers
If X.Orientation = vbPRORPortrait Then
´ La define como predeterminada del sistema.
Set Printer = X
´ Sale del bucle.
Exit For
End If
Next
Mediante la instrucción Set se designa una de las impresoras de la colección Printers como impresora predeterminada. El ejemplo anterior designa como impresora predeterminada de la aplicación la impresora identificada por la variable de objeto X.
Nota Si utiliza la colección Printers para especificar una impresora determinada, como Printers(3), sólo puede tener acceso a sus propiedades en modo de sólo lectura. Para leer y escribir las propiedades de una impresora concreta, primero tiene que definirla como impresora predeterminada de la aplicación.