Les joies de l'impression

cs_BARTBART Messages postés 25 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 2 mai 2006 - 26 oct. 2004 à 10:30
cs_BARTBART Messages postés 25 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 2 mai 2006 - 29 oct. 2004 à 11:30
bonjour,

lors d'un publipostage, je commande de diriger la fusion vers une imprimante. Seulement, word prend l'imprimante par défaut si j'utilise la fonction .ActiveDocument.MailMerge.Destination = wdSendToPrinter
Ce qui n'est pas le cas si je fais le publi à la main... mais c'est pas le but.

Qui sait comment faire pour avoir la boite de dialogue avec mes différentes imprimantes?

merci d'avance.

Ps: réponse pour débutant acceptée.

8 réponses

cs_trabice Messages postés 328 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 novembre 2005 1
26 oct. 2004 à 10:41
lu
voila du code VB

form load
a = 0
For Each p In Printers 'liste les imprimantes connue

listimpri.AddItem (p.DeviceName)
portimpri(a) = p.Port
a = a + 1
Next

CELA AJOUTE LES IMPRIMATES DS UNE COMBO,en affichant le nom des imprimantes.

Private Sub listimpri_Click()
Dim r As String
Dim l As String

r = WriteProfileString("windows", "Device", listimpri.Text + "," + "listimpri.text" + "," + portimpri(listimpri.ListIndex))
l = SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, "windows")
End Sub

Lorsque tu selectionne une imprimante,elle passe en imprimante par defaut

avec

Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As String) As Long

ds un module

j'espere ca pourra t aider

fabrice
0
cs_BARTBART Messages postés 25 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 2 mai 2006
26 oct. 2004 à 11:38
ok, j'me lance!!!
merci pour le coup de main, je te tiens au courant.
0
cs_trabice Messages postés 328 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 novembre 2005 1
26 oct. 2004 à 12:36
si c pa assez précis,hésite pas.

fabrice
0
cs_BARTBART Messages postés 25 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 2 mai 2006
26 oct. 2004 à 13:54
heu, bon d'accord parceque je lutte un peu... je pilote à partir d'excel et la fin de mon code c'est ça :
Dim Wd_App As New Word.Application
Wd_App.Visible = True
Wd_App.Documents.Open Filename:= _
"C:\Documents and Settings\Frédéric RANDON\Mes documents\Sigram\Mailing\doc de fusion courrier ADAV1TEST.doc", _
ConfirmConversions:=True

With Wd_App

.ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
.ActiveDocument.MailMerge.OpenDataSource Name:= _
"C:\Documents and Settings\Frédéric RANDON\Mes documents\Sigram\Mailing\RADAV1test.xls", _
sqlstatement:="table PUBLI" 'fait référence à zone PUBLI déclarée plus haut
.ActiveDocument.MailMerge.ViewMailMergeFieldCodes = wdToggle
.ActiveDocument.MailMerge.Destination = wdSendToPrinter
.ActiveDocument.MailMerge.SuppressBlankLines = True
.ActiveDocument.MailMerge.Execute Pause:=False

End With

fin de procédure

ou j'intègre quoi?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_trabice Messages postés 328 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 novembre 2005 1
26 oct. 2004 à 14:25
re,

je suis navré j'ai jamais fait de VBA,ce code fct pr VB....

j'espere que qq'un pourra t aider,moi je pe pa +...

bon courage

fabrice
0
cs_BARTBART Messages postés 25 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 2 mai 2006
26 oct. 2004 à 14:32
merci pour la tentative!!
0
dmorio Messages postés 1 Date d'inscription lundi 6 octobre 2003 Statut Membre Dernière intervention 28 octobre 2004
28 oct. 2004 à 17:51
david
[mailto:davorio@aol.com mailto:davorio@aol.com]

Salut, je sais pas si ton problème est encore d'actualité. En tout les cas, pour lancer la boite de dialogue des imprimantes, il suffit de faire:

Call Wd_App.Dialogs(8).Show()
0
cs_BARTBART Messages postés 25 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 2 mai 2006
29 oct. 2004 à 11:30
Salut,

merci pour ta réponse mais non, cette demande n'est plus d'actualité.

merci quand même.
0
Rejoignez-nous