OVH Cloud OVH Cloud

Fusion vers imprimante sans boîte de dialogue

4 réponses
Avatar
Sherpa
Bonjour,
Je cherche un moyen de ne pas avoir la boîte de dialogue "imprimer" lors
d'une fusion vers l'imprimante.
En fait, ce publipostage (Word 2000) est piloté à partir d'access, et je
souhaite éditer directement sans que l'utilisateur ait à intervenir.
Quelqu'un connaît-il une solution ?
Merci beaucoup.

4 réponses

Avatar
Anacoluthe
Bonjour !

'Sherpa' nous a écrit ...
Je cherche un moyen de ne pas avoir la boîte de dialogue "imprimer" lors
d'une fusion vers l'imprimante.
En fait, ce publipostage (Word 2000) est piloté à partir d'access, et je
souhaite éditer directement sans que l'utilisateur ait à intervenir.
Quelqu'un connaît-il une solution ?


Sans voir le bout de code qui ouvre cette boîte, disons
que la technique passe-partout est de préremplir le tampon
du clavier avec une instruction SendKeys qui répond à la
place de l'utilisateur.

Anacoluthe
« La vie est comme une boîte de chocolats
on ne sait jamais avant ce qu’on aura »
- Forrest GUMP

Avatar
Sherpa

Sans voir le bout de code qui ouvre cette boîte, disons
que la technique passe-partout est de préremplir le tampon
du clavier avec une instruction SendKeys qui répond à la
place de l'utilisateur.

Anacoluthe
« La vie est comme une boîte de chocolats
on ne sait jamais avant ce qu’on aura »
- Forrest GUMP



Merci pour votre réponse.

Voici un exemple de code utilisé pour la fusion vers l'imprimante :

Dim VWord As Word.Application
Dim VWordNouvelleInstance As Boolean

VWordNouvelleInstance = False
On Error Resume Next
Set VWord = GetObject(Class:="Word.Application")
If Err <> 0 Then
On Error GoTo 0
Set VWord = CreateObject("Word.Application")
VWordNouvelleInstance = True
End If
On Error GoTo 0

VWord.Application.Documents.Open FileName:="C:Fichier.doc",
ConfirmConversions:=True, ReadOnly:=True

VWord.Application.Options.UpdateFieldsAtPrint = True

VWord.Application.ActiveDocument.MailMerge.Destination = wdSendToPrinter
VWord.Application.ActiveDocument.MailMerge.Execute

If VWordNouvelleInstance Then
VWord.Application.Quit SaveChanges:=wdDoNotSaveChanges
Else
VWord.Application.ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
End If

Set VWord = Nothing

Mais je ne vois pas comment utiliser le SendKeys ?

Avatar
Anacoluthe
Bonjour !

'Sherpa' nous a écrit ...
Merci pour votre réponse.
Mais je ne vois pas comment utiliser le SendKeys ?


SendKeys "T{ENTER}"
pour envoyer T (Tous les enregistrements) et entrée dans la boîte
à placer avant
VWord.Application.ActiveDocument.MailMerge.Execute
par exemple...

(autre solution : fusion dans un document puis impression)

Anacoluthe
« La vie est comme une boîte de chocolats
on ne sait jamais avant ce qu’on aura »
- Forrest GUMP

Avatar
Sherpa

Bonjour !

'Sherpa' nous a écrit ...
Merci pour votre réponse.
Mais je ne vois pas comment utiliser le SendKeys ?


SendKeys "T{ENTER}"
pour envoyer T (Tous les enregistrements) et entrée dans la boîte
à placer avant
VWord.Application.ActiveDocument.MailMerge.Execute
par exemple...

(autre solution : fusion dans un document puis impression)

Anacoluthe
« La vie est comme une boîte de chocolats
on ne sait jamais avant ce qu’on aura »
- Forrest GUMP



Merci Anacoluthe,
Ceci fonctionne effectivement (en supprimant le T puisque je n'ai pas la
boîte de dialogue "Fusionner vers l'imprimante" en Word 2000 mais uniquement
celle intitulée "Imprimer").

...et merci pour les chocolats !