Bonjour !
Je viens vous demander de l'aide car je desespère un petit peu..
Je travaille sur un document Calc qui sert de "base de donnée" (ce n'est pas super adapté je suis au courant, mais je suis limité à ça) et je voudrais automatiser le publipostage de ces données vers un document modèle (qui regroupe lui même 4 documents) afin que les utilisateurs n'aient même pas à ouvrir ce document, tout se ferait à partir de ce même document Calc ou ils n'auraient qu'a rentrer les infos.
Le problème est que je n'arrive pas à faire selectionner à ma macro de publipostage "un seul enregistrement". A chaque fois que je lance le publipostage du document calc vers le document writer par ma macro, ma macro va me réaliser autant de documents qu'il y a d'entrées. Vous comprenez ?
Dans l'idée, l'utilisateur n'aura qu'a selectionner une entrée parmis une liste deroulante et cliquera sur "generer .odt" et c'est bingo.
Le seul problème c'est que je n'arrive pas à trouver la proprieté - existante, évidemment - qui permet d'indiquer lors du publipostage l'entrée que l'on souhaite publipostée.
Voici mon code de publipostage :
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
36
37
38
39 Sub PubliPostage() Dim nomSource As String 'Base_Publipostage_V3 Dim nomTable As String 'Feuille Machine Dim colonnePrefixe As String 'Nom Dim URLmodele As String Dim repResultats As String Dim monPublipostage As Object, props() Dim Nom As Object nomSource = "Base_Publipostage_V3" nomTable = "Feuille Machine" colonnePrefixe = "Nom" 'Nom = Event.Source.Context URLmodele = ConvertToURL("D:\MonBureau\FICHE REGROUPE.odt") repResultats = ConvertToURL("D:\MonBureau\publipostage") monPublipostage = createUnoService("com.sun.star.text.MailMerge") With monPublipostage .DataSourceName = nomSource .CommandType = com.sun.star.sdb.CommandType.TABLE .Command = nomTable .OutputType = com.sun.star.text.MailMergeType.FILE .FileNameFromColumn = True .FilenamePrefix = colonnePrefixe '.SaveAsSingleFile = True '.SaveFilter = "writer_pdf_Export" ' exemple d'export en PDF 'ici plus tard : pageRange .DocumentURL = URLmodele .OutputURL = repResultats .execute(props()) 'Envoi de la commande de publipostage Xray monPublipostage End With MsgBox("Fin du publipostage") End Sub
En ésperant que quelqu'un connait la réponse et peut me la communiquer !
Merci beaucoup !
Partager