2016-11-23 1 views
0

J'écris sur une courte fonction Excel vba pour imprimer plusieurs documents Word.VBA Excel Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint") nombre de copies?

-je utiliser ce code:

... 
Set WordApp = CreateObject("Word.Application") 
Set wordObj = WordApp.documents.Open(file) 
... 
wordObj.Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint") 

pour montrer l'impression « Backstage » et dialogue Aperçu, et invite l'utilisateur à confirmer l'impression.

Toutefois, le nombre de copies doit être défini par la fonction et, si possible, ne pas pouvoir être modifié par l'utilisateur.

Je n'ai rien trouvé d'utile sur le web. Est-ce que quelqu'un sait s'il est possible de le faire?

Répondre

0

J'ai MS Word 2010 en cours d'exécution.

Une fois en mode Backstage, je peux utiliser SendKeys pour taper "alt", "P", "N", "2" pour définir le nombre de copies. Par exemple:

... 
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint") 
SendKeys "%PN2", False 

Ceci définit le nombre de copies à 2. L'utilisateur peut cependant changer le nombre de copies.