Ce code ne génère pas d'erreur mais le document edité ne comporte pas le contenu du champ de fusion inséré dans le document.Le document final comporte autant de pages que le nombre d'enregistrements de la base.
Si je fais imprimer avec ce document à partir de Writer cela marche.
Dans ce code manque t-il une info ???
Merci d'avance pour une idée.
Code : Tout sélectionner
PUBLIC oserv,odesk
* Creation des instances au serveur
oserv = CREATEOBJECTEX("com.sun.star.serviceManager","","")
odesk = oserv.createinstance("com.sun.star.frame.Desktop")
loCoreReflection = oserv.createInstance("com.sun.star.reflection.CoreReflection" )
loPropertyValue = CREATEOBJECT("Empty")
loCoreReflection.forName("com.sun.star.beans.PropertyValue").createobject(@loPropertyValue)
DIMENSION arg3(1)
arg3(1) = loPropertyValue
COMARRAY(odesk,10)
cFichier = "file:///C:/temp/testdbf.odt"
omerge = oserv.createinstance("com.sun.star.text.MailMerge")
DIMENSION args(8)
RELEASE loPropertyValue
loPropertyValue = CREATEOBJECT("Empty")
loCoreReflection.forName("com.sun.star.beans.NamedValue").createobject(@loPropertyValue)
loPropertyValue.name = "DataSourceName"
loPropertyValue.value = "tableDB"
args(1)=loPropertyValue
RELEASE loPropertyValue
loPropertyValue = CREATEOBJECT("Empty")
loCoreReflection.forName("com.sun.star.beans.NamedValue").createobject(@loPropertyValue)
loPropertyValue.name = "DocumentURL"
loPropertyValue.value = cFichier
args(2)=loPropertyValue
RELEASE loPropertyValue
loPropertyValue = CREATEOBJECT("Empty")
loCoreReflection.forName("com.sun.star.beans.NamedValue").createobject(@loPropertyValue)
loPropertyValue.NAME = "CommandType"
loPropertyValue.VALUE = 0
args(3)=loPropertyValue
RELEASE loPropertyValue
loPropertyValue = CREATEOBJECT("Empty")
loCoreReflection.forName("com.sun.star.beans.NamedValue").createobject(@loPropertyValue)
loPropertyValue.NAME = "Command"
loPropertyValue.VALUE = "TABLE1"
args(4)=loPropertyValue
RELEASE loPropertyValue
loPropertyValue = CREATEOBJECT("Empty")
loCoreReflection.forName("com.sun.star.beans.NamedValue").createobject(@loPropertyValue)
loPropertyValue.name = "OutputType"
loPropertyValue.value = 2
args(5)=loPropertyValue
RELEASE loPropertyValue
loPropertyValue = CREATEOBJECT("Empty")
loCoreReflection.forName("com.sun.star.beans.NamedValue").createobject(@loPropertyValue)
loPropertyValue.name = "OutputURL"
loPropertyValue.value = "file:///C:/temp/"
args(6)=loPropertyValue
RELEASE loPropertyValue
loPropertyValue = CREATEOBJECT("Empty")
loCoreReflection.forName("com.sun.star.beans.NamedValue").createobject(@loPropertyValue)
loPropertyValue.name = "FileNamePrefix"
loPropertyValue.value = "docfusion_"
args(7)=loPropertyValue
release lopropertyvalue
lopropertyvalue = createobject("Empty")
locorereflection.forname("com.sun.star.beans.NamedValue").createobject(@lopropertyvalue)
lopropertyvalue.name = "SaveAsSingleFile"
lopropertyvalue.value = .T.
args(8)=lopropertyvalue
COMARRAY(omerge,10)
omerge.execute(@args)
RELEASE oserv,odesk
Modérateur a écrit :Merci, d'utiliser la balise code