Cambio temporal de la impresora en una macro

January 2

Shaune ha escrito una macro que imprime, a un escritor PDF, hojas de información del producto. Cuando se imprime al escritor PDF, la macro restablece la impresora predeterminada para el sistema en el que se está ejecutando, para que cuando alguien intenta entonces imprimir regularmente (después de la macro está terminado), Word todavía asume que el usuario quiere imprimir en la escritor PDF. Shaune está buscando un camino para su macro para usar el escritor PDF temporalmente, sin restablecer la impresora predeterminada.

La mala noticia, Shaune, es que usted no puede conseguir alrededor de reiniciar la impresora. Cuando se restablece la propiedad ActivePrinter, entonces Verbo asume que la impresora que especifique permanece la impresora activa (por defecto) hasta que específicamente restablece el usuario.

La buena noticia es que también se puede leer la propiedad ActivePrinter, lo que significa que su macro puede salvar cualquier impresora a la persona había seleccionado antes de ejecutar la macro, y luego restablecer la propiedad ActivePrinter antes de salir. El resultado es que el usuario nunca se da cuenta de que la impresora predeterminada se cambió, porque su macro detecta la configuración y luego cambió de nuevo. Esta técnica se utiliza de esta manera:

Sub PrinterTechnique ()
Dim sCurrentPrinter as String
Dim sPDFwriter as String

'Realizar cualquier tarea que se deben hacer antes de la impresión
'Asegúrese de que también inicializar la cadena sPDFwriter con
"El nombre de su escritor PDF

'Guardar el nombre actual de la impresora, luego cambiar a escritor PDF
sCurrentPrinter = Application.ActivePrinter
Application.ActivePrinter = sPDFwriter

'Documento de impresión, y luego ir de nuevo a la original de la impresora
ActiveDocument.PrintOut
Application.ActivePrinter = sCurrentPrinter

'Continuar con el resto de la macro

End Sub

WordTips es su fuente de formación de Microsoft Word rentable. (Microsoft Word es el procesador de textos más popular en el mundo.) Esta punta (318) se aplica a Microsoft Word 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Word (Word 2007 y más tarde) aquí: Cambio temporal de la impresora en una macro.