Modifica temporanea della stampante in una macro (Microsoft Word)
Shaune ha scritto una macro che stampa, su uno scrittore PDF, le schede informative del prodotto. Quando stampa nel programma di scrittura PDF, la macro ripristina la stampante predefinita per il sistema su cui è in esecuzione, in modo che quando qualcuno tenta di stampare regolarmente (dopo che la macro è terminata), Word presume ancora che l’utente desideri stampare sul Scrittore PDF. Shaune sta cercando un modo per la sua macro di utilizzare temporaneamente il writer PDF, senza ripristinare la stampante predefinita.
La cattiva notizia, Shaune, è che non puoi aggirare il ripristino della stampante. Quando si reimposta la proprietà ActivePrinter, quindi Word presuppone che la stampante specificata rimane la stampante attiva (predefinita) finché non viene reimpostata specificamente.
La buona notizia è che puoi anche leggere la proprietà ActivePrinter, il che significa che la tua macro può salvare qualsiasi stampante che la persona aveva selezionato prima dell’esecuzione della macro e quindi reimpostare la proprietà ActivePrinter prima di uscire. Il risultato è che l’utente non si accorge mai che la stampante predefinita è stata modificata, poiché la macro ha rilevato le impostazioni e quindi l’ha modificata di nuovo. Questa tecnica viene utilizzata in questo modo:
Sub PrinterTechnique() Dim sCurrentPrinter as String Dim sPDFwriter as String ' perform whatever tasks need to be done prior to printing ' make sure you also initialize the sPDFwriter string with ' the name of your PDF writer ' save current printer name, then change to PDF writer sCurrentPrinter = Application.ActivePrinter Application.ActivePrinter = sPDFwriter ' print document, then go back to the original printer ActiveDocument.PrintOut Application.ActivePrinter = sCurrentPrinter ' continue with the rest of your macro End Sub
Notare, in questo esempio, che la stampante attiva viene prima salvata nella variabile sCurrentPrinter e quindi la stampante attiva viene impostata su qualsiasi cosa si trovi nella variabile sPDFwriter. (Come notato, sarà necessario inizializzare sPDFwriter in modo che contenga un nome di stampante valido.) Al termine della stampa, la stampante attiva viene reimpostata su ciò che è stato precedentemente memorizzato nella variabile sCurrentPrinter.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.
WordTips è la tua fonte di formazione economica su Microsoft Word.
(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (9808) si applica a Microsoft Word 2007, 2010, 2013 e 2016. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Word qui: