[VBScript] impression automatisée

Fermé
dj-julio - 19 janv. 2006 à 09:42
 lallo - 25 avril 2008 à 21:40
Bonjour,

Je dois développer un script permettant d'imprimer automatiquement un fichier sur une imprimante pdf.

Ce script sera lancé par du php ..(est-ce possible)
J'ai besoin en paramètres de ce script le nom du fichier à imprimer ainsi que son répertoire de destination.

Pour le moment j'ai ça :

Dim WordApp, Doc
	Set WordApp = CreateObject("Word.Application")
	'Ici on définit l'imprimante qui sera utilisée.
	WordApp.ActivePrinter="fichier"
	Set Doc = WordApp.documents.open(fichier)
	Doc.PrintOut
	Doc.Close
	WordApp.Quit


Merci d'avance de votre aide.
A voir également:

2 réponses

Je bosse sur le même truc.
Pour le moment j'ai un script imp.vbs avec :
if Wscript.arguments.count >0 then
Dim WordApp, Doc
Set WordApp = CreateObject("Word.Application")
Set Doc = WordApp.documents.open(Wscript.arguments.Item(0))
Doc.PrintOut 0
Doc.Close
WordApp.Quit
end if

pour lancer l'impression, je fais en ligne de commande :
imp.vbs c:\test.rtf
(je bosse avec des fichier RTF qui sont plus facile à modifier en php).

En théorie, depuis php on devrait pouvoir le lancer via exec('imp.vbs c:\test.rtf). Mais quand apache tourne en mode service (dans mon cas avec wamp) ça ne marche pas. J'ai essayé plein de truc sur le paramètrage du service mais rien n'y fait. Le seul moyen pour le moment est de lancer apache en mode utilisateur. Pas top pour un serveur.

Et toi de ton coté, tu as trouvé qq chose ?
0
Bonjour a tous, je comprends que ce sujet date mais il m'a mis sur la voie pour ecrire mon code. Je précise que je débute en Vbs.

J'aimerais monter un code qui me permet de

1.ouvrir une boite de dialogue qui demandera "est ce que le mois est écoulé en entier". Celle ci proposera deux options: non et on sort de la procédure ou oui et on lance la procédure suivante:

1.1.j'ai un grapphique dans un fichier excel (grap1.feuille1.xls)

1.2.je veux aller chercher ce graphe par une commande

1.3.je veux choisir l'imprimante cute pdf qui imprimera le graphe

1.4.je veux aller enregister le pdf resultant de l'impression dans un repertoire bien spécifique (c:/repertoire-specifique)

Je n'ai pas fait le point 1

pour le point 1.1 j'ai plutot pris la feuille (feuille.xls) car donner l'adresse du graphe je sais pas faire.

le point 1.2 je crois que c'est bon

le point 1.3 me retourne une erreur(xlApp.ActivePrinter="CutePDF Writer") je ne sais pas pourquoi

le point 1.4, j'y reflechit (une proposition serait la bienvenue)

Mon code:
Dim xlapp, classeur, feuille, Doc

Set xlapp = CreateObject("Excel.Application")
xlapp.Visible = True

Set classeur = xlapp.Workbooks.add
Set feuille = xlapp.ActiveSheet

'point 1.1
Set Doc = xlApp.WorkBooks.open("C:\Documents and Settings\stagiaire\Bureau\feuille.xls")

Ici on définit l'imprimante qui sera utilisée.
xlApp.ActivePrinter="CutePDF Writer"

Doc.PrintOut
Doc.Close
0
Bonjour,

je cherche une macro qui me permettrait de créer, à partir d1 fichier excel, un pdf (Pdf Creator),
Le nom du fichier pdf serait une concaténation d'une cellule A1;"-";B1 de la feuille imprimée.
Le fichier pdf serait à envoyer toujours dans le même repertoire ex : "dossier1"

Je souhaite que le fichier pdf reste ouvert pour visualisation et soit fermé manuellement.

Est-ce possible ?

Merci d'avance pour toute indication
0