Muchas de las impresoras disponibles en el mercado en estos días tienen capacidades asombrosas. Se puede acceder a la mayoría de estas capacidades utilizando el cuadro de diálogo Imprimir y haciendo clic en el botón Propiedades junto al nombre de la impresora. Mientras desarrolla sus propias macros, puede preguntarse si es posible acceder a estas capacidades desde dentro de la macro.

Desafortunadamente, no parece que esto se pueda hacer porque los controladores de impresora generalmente no hacen que las funciones de las impresoras estén disponibles de una manera que se pueda entender y acceder desde el modelo de objetos utilizado por VBA. (¡Vaya, fue un bocado!) En cambio, tendría que usar la API de Windows real, e incluso entonces no todas las funciones pueden ser accesibles.

Sin embargo, existen algunas soluciones que se pueden utilizar. Puede usar VBA para seleccionar diferentes impresoras a las que puede dirigir su salida. Esto significa que puede crear diferentes definiciones de impresora, en Windows, y luego usar esas definiciones como destino para su salida.

Por ejemplo, puede utilizar la carpeta Impresoras de Windows para configurar una impresora denominada Papel normal HP. Esa definición de impresora se puede configurar para imprimir en papel normal, de forma predeterminada. A continuación, puede configurar otra definición de impresora denominada Papel satinado HP y configurarla para que imprima, de forma predeterminada, en una bandeja que pueda contener papel satinado. Con las dos impresoras definidas, puede usar VBA para cambiar entre las dos. Por ejemplo, si desea imprimir en la definición de impresora para el papel brillante, puede usar lo siguiente en su macro:

Application.ActivePrinter = "HP Glossy Paper"

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (2530) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Controlling_the_Printer_in_a_Macro [Control de la impresora en una macro].