L'exemple de macro de publipostage, dont j'ai déjà parlé ne semble marché que si le répertoire d'accueil des résultats est créé directement sur la racine du système C:
Code : Tout sélectionner
Sub PublipostageFichiers_()
Dim nomSource As String, nomTable As String, colonnePrefixe As String
Dim URLmodele As String, repResultats As String
Dim monPublipostage As Object,PysMod as object, props()
nomSource = "BDDext"
nomTable = "Clients"
colonnePrefixe = "Nom"
'URLmodele = ConvertToURL("C:\Docs OpenOffice\annonceSoldes.odt")
URLmodele = ConvertToURL("C:\Users\Public\Documents\annonceSoldes.odt")
repResultats = ConvertToURL("C:\Docs OpenOffice\resultat\")
repResultats = ConvertToURL("C:\Users\Public\Documents\") '<--- Ne marche pas
repResultats = ConvertToURL("C:\EssaisPublipostage\") '<--- Marche !
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
.DocumentURL = URLmodele
.OutputURL = repResultats
.execute(props())
End With
MsgBox("Fin du publipostage")
End Sub
Dans ce cas cela m'oblige à ce que ma future extension force la création d'un répertoire spécial pour cela. Ce qui me semble dommageable.