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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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