Tout d'abord bonjour à tous, je m'essaie depuis peu a la programmation de macros sur LibreOffice et je rencontre actuellement un problème.
Je dois réaliser un publipostage à partir d'une base de donnée sous forme de tableau, (partie gérée par mon programme en C), cependant j'aimerais que l'utilisateur lambda qui utilisera cette macro puisse avoir le choix du dossier de destination ou le document "prêt à l'impression" sera logé.

Pour l'instant le code ressemble à
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
Sub Publipostage_UNFINISHED
'les variables
document   = ThisComponent.CurrentController.Frame
'lancer le publipostage
M_mailing ("FICHIER_TEMOIN_TEXTE_POUR_PUBLIPOSTAGE", "DOSSIER_ENREGISTREMENT_FICHIER_A_IMPRIMER", "NOM_BASE_DE_DONNEE(pourLibreoffice", "NOM_REEL_BASE_DE_DONNEE")
End Sub
'																						,		 , Nom table dans OpenOffice(si doublon nom différent du reel), Nom reel dans les dossiers
 
sub M_mailing (PysModele as string, PubRepertoireCible as string, PubSource as string, PubNomTable as string)
 
Dim MonPublipostage as object, MyProps(), PysMod as object
Dim propFich(0) as New com.sun.star.beans.PropertyValue
 
'Service publipostage
MonPublipostage=createUnoService("com.sun.star.text.MailMerge")
 
 
With MonPublipostage
   .DataSourceName=PubSource
   .CommandType=com.sun.star.sdb.CommandType.TABLE		'paramètre du publipostage
   .Command=PubNomTable
   .SaveAsSingleFile=True
   .OutputType=com.sun.star.text.MailMergeType.FILE		'option publipostage par fichier
   .DocumentURL=convertToURL(PysModele)
   .OutputURL=ConvertToURL(PubRepertoireCible)			'chemin du fichier de sortie
   .FileNamePrefix = "Essai"
   .execute(MyProps())									'executer le publipostage
End With
 
MsgBox "Fin du Publipostage, la fusion se trouve dans: " + PubRepertoireCible
 
End Sub
J'aimerais que mon DOSSIER_ENREGISTREMENT_FICHIER_A_IMPRIMER soit le resultat d'une recherche de l'utilisateur.
En esperant votre aide.
Merci.

PS : Disclaimer ce code est deja un assemblage de ce que j'ai pu trouver en faisant de nombreuses recherches et je remercie ceux qui m'ont aidé.