Bonjour,
Depuis Office 2000, le publipostage (ici entre Word2003 et Access2003) est différent : la connexion à la source de données n'est plus une DDE par defaut mais surtout il faut utiliser nécessairement la méthode .mailmerge.opendatasource .... qui ouvre une instance supplémentaire de la base frontale (où se trouvent mes requêtes) et que je ne sais refermer que manuellement, ce qui est dangereux à gérer pour un non informaticien.
Voici mon code :
Ma question: comment refermer l'instance de la base, ouverte par .OpenDataSource ... ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Set oWord = CreateObject("Word.Application") With oWord .Visible = True 'ouvrir le document .Documents.Open modelDoc With .ActiveDocument.MailMerge .MainDocumentType = wdFormLetters .OpenDataSource name:=maBD.name, _ ConfirmConversions:=True, _ ReadOnly:=True, _ SQLStatement:=strSql .SuppressBlankLines = True ' Diriger le publipostage vers un nouveau document .Destination = wdSendToNewDocument ' Lancer la fusion .Execute Pause:=False End With ' Fermer le fichier modele, sans le sauvegarder .Documents(modelDoc).Close wdDoNotSaveChanges Application.Echo True ' Sauvegarde du fichier sous un autre nom .ActiveDocument.SaveAs nomDoc End With
A noter qu'au premier publipostage, cette instance se referme quelquefois lors de la fermeture du fichier modèle ( .Documents(modelDoc).Close ) mais plus par la suite.
Merci de vos idées
Partager