IMPRIMER PLUSIEURS DOCUMENTS WORD DEPUIS VBA ACCESS

nykokuhn Messages postés 1 Date d'inscription mercredi 6 juillet 2005 Statut Membre Dernière intervention 6 juillet 2005 - 6 juil. 2005 à 17:22
Djobi Djoba Messages postés 9 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 23 février 2006 - 6 juil. 2005 à 21:49
Salut,

Je fais une application Access et dans un des modules j'aimerai pouvoir lancer l'impression de plusieurs documents word.

Je crée d'abord un fichier:

'création de l'objet Word
Set wdapp = CreateObject("Word.application")
'on rend le document invisible à l'utilisateur
wdapp.Visible = False
'on ouvre un document Word depuis le template (lettre type)
wdapp.Documents.Add "chemin/fichier.doc"

Ensuite je remplis mon document word via des signets.
Puis j'imprime:

wdapp.PrintOut

Puis je ferme le document sans le sauvegarder
wdapp.Documents.Close False

Tout ce script je le rentre dans une boucle parce que j'ai plusieurs documents différents à imprimer.

Le souci est qu'après la première impression du fichier, il veut absolument m'ouvrir le fichier suivant sous Word, et visiblement le fichier courant n'a pas été fermé du coup apparaît la fenêtre d'ouverture en lecture seule de Word...
Je n'arrive pas à faire en sorte qu'il m'imprime tout bêtements mes documents l'un après l'autre sans jamais voir le doc sous word...

Quelqu'un aurait-il une solution?

Merci!!

1 réponse

Djobi Djoba Messages postés 9 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 23 février 2006
6 juil. 2005 à 21:49
De mon côté avec ce code, ca marche

Private Sub Commande221_Click()

Dim Fich As String
Dim oWdApp As Object
Dim n_copies, i As Integer
n_copies = InputBox("nombre de copie:", "Impression")
Fich = "[file://Signel-main/signel C:]\Fichier.doc"
Set oWdApp = CreateObject("Word.Application")
oWdApp.Documents.Open Fich



For i = 1 To n_copies
oWdApp.Visible = False
oWdApp.PrintOut Copies:=n_copies
Next
oWdApp.Quit
Set oWdApp = Nothing


End Sub
0
Rejoignez-nous