OVH Cloud OVH Cloud

publipostage word

4 réponses
Avatar
Phil
Bonjour,

Problème:
Lors de la première exécution du code ci-dessous: pas d'erreur -
fonctionnement normal.
Par contre lorsque j'exécute une seconde fois ce code en laissant ouvert le
fichier word provenant du publispostage alors se produit l'erreur suivante
"Ereur exécution '4160' Nom du fichier incorrect"?.
Cette erreur n'apparait pas si je ferme au préalable le fichier word
provenant du premier publipostage.

Que dois-je modifier dans mes lignes de codes ou rajouter afin d'éviter
cette erreur??


Private Sub BcContinuer_Click()
Dim ObjWord As Object
Dim DocWord As Variant

Set ObjWord = CreateObject("Word.Application")
With ObjWord
.Documents.Open FileName:="MaîtreFusion_Fax.Doc"
.Visible = True
End With
Set DocWord = ObjWord.ActiveDocument.MailMerge
If DocWord.State = wdMainAndDataSource Then
DocWord.Destination = wdSendToNewDocument
DocWord.Execute
End If
Set ObjWord = Nothing
Documents("MaîtreFusion_Fax.Doc").Close SaveChanges:=wdDoNotSaveChanges
End Sub

D'avance merci...

4 réponses

Avatar
3stone
Salut,

"Phil"
| Problème:
| Lors de la première exécution du code ci-dessous: pas d'erreur -
| fonctionnement normal.
| Par contre lorsque j'exécute une seconde fois ce code en laissant ouvert le
| fichier word provenant du publispostage alors se produit l'erreur suivante
| "Ereur exécution '4160' Nom du fichier incorrect"?.
| Cette erreur n'apparait pas si je ferme au préalable le fichier word
| provenant du premier publipostage.
|
| Que dois-je modifier dans mes lignes de codes ou rajouter afin d'éviter
| cette erreur??
|
|
| Private Sub BcContinuer_Click()
| Dim ObjWord As Object
| Dim DocWord As Variant
|
| Set ObjWord = CreateObject("Word.Application")
| With ObjWord
| .Documents.Open FileName:="MaîtreFusion_Fax.Doc"
| .Visible = True
| End With
| Set DocWord = ObjWord.ActiveDocument.MailMerge
| If DocWord.State = wdMainAndDataSource Then
| DocWord.Destination = wdSendToNewDocument
| DocWord.Execute
| End If
| Set ObjWord = Nothing
| Documents("MaîtreFusion_Fax.Doc").Close SaveChanges:=wdDoNotSaveChanges
| End Sub


essaies en modifiant la fin ainsi :

...
End if
ObjWord.Documents("MaîtreFusion_Fax.Doc").Close SaveChanges:=wdDoNotSaveChanges
ObjWord.Quit
Set DocWord = Nothing
Set ObjWord = Nothing


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Avatar
Phil
Bonjour,

impec merci pour ton aide :-)))))))

Autre question:
Est-t'il possible de définir le nom du new fichier (wdSendToNewDocument)??

Phil


"3stone" a écrit dans le message de news:

Salut,

"Phil"
| Problème:
| Lors de la première exécution du code ci-dessous: pas d'erreur -
| fonctionnement normal.
| Par contre lorsque j'exécute une seconde fois ce code en laissant ouvert
le

| fichier word provenant du publispostage alors se produit l'erreur
suivante

| "Ereur exécution '4160' Nom du fichier incorrect"?.
| Cette erreur n'apparait pas si je ferme au préalable le fichier word
| provenant du premier publipostage.
|
| Que dois-je modifier dans mes lignes de codes ou rajouter afin d'éviter
| cette erreur??
|
|
| Private Sub BcContinuer_Click()
| Dim ObjWord As Object
| Dim DocWord As Variant
|
| Set ObjWord = CreateObject("Word.Application")
| With ObjWord
| .Documents.Open FileName:="MaîtreFusion_Fax.Doc"
| .Visible = True
| End With
| Set DocWord = ObjWord.ActiveDocument.MailMerge
| If DocWord.State = wdMainAndDataSource Then
| DocWord.Destination = wdSendToNewDocument
| DocWord.Execute
| End If
| Set ObjWord = Nothing
| Documents("MaîtreFusion_Fax.Doc").Close
SaveChanges:=wdDoNotSaveChanges

| End Sub


essaies en modifiant la fin ainsi :

...
End if
ObjWord.Documents("MaîtreFusion_Fax.Doc").Close
SaveChanges:=wdDoNotSaveChanges

ObjWord.Quit
Set DocWord = Nothing
Set ObjWord = Nothing


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/



Avatar
3stone
Salut,

"Phil"
| Autre question:
| Est-t'il possible de définir le nom du new fichier (wdSendToNewDocument)??


Pour le sauver ensuite ?

dans le style:

.ActiveDocument.SaveAs FileName:="c:repertoireMonDoc.doc"


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Avatar
Phil
exactement :-)))))))))))))))

A+


"3stone" a écrit dans le message de news:
#71$
Salut,

"Phil"
| Autre question:
| Est-t'il possible de définir le nom du new fichier
(wdSendToNewDocument)??



Pour le sauver ensuite ?

dans le style:

.ActiveDocument.SaveAs FileName:="c:repertoireMonDoc.doc"


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/