Bonjour à tous,
J'espère que vous pourrez m'aider : j'ai cherché partout (forums, FAQ, ...) mais je ne trouve pas de solution à mon problème ...
Voilà : je souhaite automatiser le publipostage d'un document Word par une macro VBA.
Pour cela, j'y arrive correctement en utilisant le code suivant (étant novice en VBA, ce code n'est peut-être pas très optimisé ...) :
Le fichier contenant les données (DataSource) porte le même nom que le document Word, mais avec une extension 'txt', et se trouve dans le même répertoire que le document Word. Voilà pour l'explication de la fabrication de la variable NomTxt.
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 Sub PilotPubli() 'Construction du nom du fichier texte contenant les données. With ActiveDocument DocFus = .Name NomFus = .FullName PosExt = InStr(1, DocFus, ".doc", vbTextCompare) PosExt = PosExt - 1 NomTxt = .Path & "\" & Left(DocFus, PosExt) & ".txt" End With With ActiveDocument.MailMerge 'Mise en place du publipostage dans ce document (lettre type = '3') .MainDocumentType = 3 .OpenDataSource NomTxt 'Affichage du contenu des variables .ViewMailMergeFieldCodes = False End With End Sub
Lorsque la ligne '.OpenDataSource NomTxt' s'exécute, dans certains cas (je suppose que c'est fonction de ce qui se trouve dans le fichier txt), une fenêtre intermédiaire apparaît.
Cette fenêtre me demande de confirmer les séparateurs de champs et séparateurs d'enregistrements.
Dans mon fichier txt, ces séparateurs sont pourtant conformes car en cliquant sur 'OK', le publipostage fonctionne parfaitement.
==> existe-t-il une option à ajouter à la commande '.OpenDataSource' pour indiquer à Word qu'il ne doit pas me demander la confirmation des séparateurs ?
Merci par avance de vos réponses !
Partager