OVH Cloud OVH Cloud

Automatiser fusion avec Word

1 réponse
Avatar
assium
Bonjour,
j'ai d=E9fini un mod=E8le avec Word 2003, ensuite, =E0 partir de ma table
sous access 2003, en faisant "outils > liaison office > fusion avec
microsoft office word", et puis en selectionnant le document que j'ai
cr=E9=E9 sous Word, j'arrive =E0 avoir un r=E9sultat.
Je peux d'ailleurs obtenir le m=EAme r=E9sultat depuis Word en utilisant
"outils > lettres et publipostage".

Voici ma question : j'aimerai ajouter =E0 mon formulaire un bouton qui
permettrait d'automatiser la fusion avec microsoft word, et qui donc,
cr=E9erait le document Word =E0 partir du mod=E8le, et l'ouvrirait en
=E9dition sous Word par exemple.

Quelqu'un sait comment faire ?

Merci

1 réponse

Avatar
david
salut,

Voici un code VB qui va te permettre d'ouvrir une instance de Word, de
fusionner un document Word avec un fichier de base de données (celui
défini lors de la dernière sauvegarde du document) et de sauvegarder
les lettres et d'imprimer (si paramètre est à vrai) le résultat :
Private Function Fusion(ByVal MleFileName As String,
ByVal DestFileName As String,
ByVal printRequest As Boolean) As
Long
On Error Resume Next
dim Wd as Object

Fusion = -1
on error resume next
Set Wd = CreateObject("Word.Application")
Set Doc = Wd.Documents.Open(MleFileName, False, True, False)
Doc.MailMerge.Destination = wdSendToNewDocument
Doc.MailMerge.Execute
Set DocRes = Wd.ActiveDocument
NbPg = DocRes.ComputeStatistics(wdStatisticPages)
DocRes.SaveAs DestFileName, , , , False
if PrintRequest Then DocRes.Print
Wd.Quit
set Wd=Nothing
Fusion = NbPg
On Error GoTo 0
End Function

A+, david