1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| Option Compare Database
Option Explicit
Private Sub BtPublipostage_Click()
Dim wdapp As Word.Application
Dim NomDoc As String
Dim CheminDocPerso As String
'Créer la table tPublipost
DoCmd.SetWarnings False
DoCmd.OpenQuery "rPublipost"
DoCmd.SetWarnings True
'Définir le chemin du doc publiposté
'ici, il s'appelle tstPubli.docx et est logé dans le même répertoire que la db
CheminDocPerso = CurrentProject.Path & "\tstPubli.docx"
'Publipostage proprement dit
Set wdapp = New Word.Application
With wdapp
.Visible = True
' Ouvrir le document type
.Documents.Open CurrentProject.Path & "\PubliImage.docx"
.ActiveDocument.MailMerge.OpenDataSource _
Name:=CurrentDb.Name, _
LinkToSource:=True, _
Connection:="Table tPublipost", _
SQLStatement:="SELECT * FROM [tPublipost]"
.ActiveDocument.MailMerge.Execute
'on enregistre le doc publiposté
.ActiveDocument.SaveAs2 CheminDocPerso
.Documents.Close
DoEvents
'on réouvre le doc plubliposté pour activer les images
.Documents.Open CheminDocPerso
.Selection.WholeStory
.Selection.Fields.Update
'on le sauvegarde
.ActiveDocument.Save
.Documents.Close
End With
' Fermer et libérer les objets
wdapp.Quit
Set wdapp = Nothing
' Afficher le doc publiposté dans une fenêtre
Shell "C:\WINDOWS\EXPLORER.EXE " & CheminDocPerso
End Sub |
Partager