Si usa macros para imprimir sus hojas de trabajo, ya sabe que la macro puede especificar la impresora real a la que se debe enviar la salida.

¿Qué sucede si también desea especificar una bandeja de papel específica para usar en esa impresora? Desafortunadamente, esto se vuelve un poco pegajoso.

El problema es que cuando hace clic en el botón Opciones en el cuadro de diálogo Configurar página para establecer qué bandeja de papel usar, lo que ve está completamente bajo el control de su controlador de impresora, no bajo el control de Excel.

¿Qué significa esto para usted? Significa que no hay comandos que pueda usar en una macro de Excel para especificar una bandeja de impresora. Sin embargo, existen algunas soluciones que puede probar. La primera solución es simplemente definir diferentes definiciones de impresora en Windows, cada una adaptada para usar una bandeja de impresora específica. Siga estos pasos generales:

  1. Determine cuántas bandejas de papel desea utilizar en la impresora.

  2. Defina una nueva impresora para cada bandeja de papel que desee utilizar. Por ejemplo, si desea utilizar tres bandejas de papel diferentes, debe definir tres impresoras, cada una con un nombre representativo de una bandeja de papel.

  3. Haga clic con el botón derecho en una definición de impresora y cambie las propiedades de la impresora para que imprima en la bandeja de papel deseada.

  4. Repita el paso 3 para cada una de las otras definiciones de impresora, asegurándose de especificar diferentes bandejas de papel para cada una.

En este punto, tiene varias definiciones de impresora configuradas y cada una imprimirá en una bandeja de papel diferente en la misma impresora. Dentro de Excel, puede especificar la impresora deseada, en una macro, de modo que la impresión vaya a la definición de impresora deseada y, por lo tanto, a la bandeja de papel deseada. El único inconveniente de esta solución, por supuesto, es que requiere bastante trabajo de configuración. Si trabaja en una oficina con 50 usuarios, esto significa que deberá asegurarse de que las 50 tengan cada impresora definida como se describe anteriormente.

Otra solución consiste en el uso de la instrucción SendKeys en su macro. Puede encontrar información sobre SendKeys en la ayuda en línea de VBA disponible con Excel, pero lo que básicamente hace es rellenar el búfer del teclado con una serie de pulsaciones de teclas, tal como las escribiría el usuario. Por lo tanto, teóricamente podría configurar la macro para emular las pulsaciones de teclas que seguiría para abrir el cuadro de diálogo Configurar página, hacer clic en Opciones y seleccionar una bandeja de impresora diferente.

Sin embargo, existe un problema potencial con SendKeys. Puede ser poco confiable porque no hay forma de asegurarse de que las pulsaciones de teclas vayan realmente a donde desea. En un sistema operativo de subprocesos múltiples (como Windows), algún otro proceso podría intervenir y descarrilar los comandos. Además, si SendKeys funciona en su computadora, es posible que no funcione en la computadora de otra persona a menos que tenga la misma versión de Excel, la misma impresora y la misma versión del controlador de impresora.

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

Este consejo (2213) 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 posteriores) aquí:

link: / excelribbon-Specifying_a_Paper_Tray_in_a_Macro [Especificación de una bandeja de papel en una macro].