Macros-commandes VBA/Exercices/Imprimantes
Redéfinir l'imprimante par défaut
modifierÉcrire un programme qui se lance à l'ouverture d'une application MS-Office, et qui redéfinit l'imprimante par défaut de Windows toutes les 10 secondes.
Solution
Option Explicit
Public printer1
Sub AutoOpen()
'On peut aussi récupérer l'imprimante initiale avec : printer1 = Application.ActivePrinter
DefaultPrinter
End Sub
Sub DefaultPrinter()
Application.OnTime Now + TimeValue("00:00:10"), "PrinterName"
End Sub
Sub PrinterName()
Dim printer2
Set printer2 = CreateObject("WScript.Network")
printer2.SetDefaultPrinter "Nom de l'imprimante"
DefaultPrinter
End Sub
Attention, cela ne fonctionne pas dans Office qui conserve la dernière imprimante sélectionnée jusqu'au redémarrage du logiciel)[1].
Faire la même chose mais qui soit pris en compte dans Word en temps réel, et ajouter une impression :
Solution
Sub AutoOpen()
DefaultPrinter
End Sub
Sub DefaultPrinter()
Application.OnTime Now + TimeValue("00:00:10"), "PrinterName"
End Sub
Sub PrinterName()
Application.ActivePrinter = "PDF Creator"
'Imprimer
ActiveDocument.PrintOut
DoEvents
DefaultPrinter
End Sub
Référence
modifier- ↑ http://www.excel-downloads.com/forum/75139-une-macro-qui-se-lance-toutes-les-15min.html
- ↑ http://heureuxoli.developpez.com/office/word/vba-word/?page=page2#L2-A-2