Passing nothing at all: oMailMerge.execute() gives:File "trymerge.py", line 20, in mergeit
oMailMerge.execute([])
__main__.RuntimeException: <type 'exceptions.AttributeError'>: 'list' object has no attribute 'getTypes', traceback follows
no traceback available
What should I be passing to oMailMerge.execute?oMailMerge.execute()
__main__.IllegalArgumentException: incorrect number of parameters passed invoking function execute
Code: Select all
import uno
def mergeit():
localContext = uno.getComponentContext()
resolver = localContext.ServiceManager.createInstanceWithContext(
"com.sun.star.bridge.UnoUrlResolver", localContext )
ctx = resolver.resolve( "uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext" )
smgr = ctx.ServiceManager
oMailMerge = smgr.createInstanceWithContext( "com.sun.star.text.MailMerge",ctx)
oMailMerge.DocumentURL = "file:////home/user/templates/testtemplate.odt" #Source document (forward slashes only)
oMailMerge.DataSourceName = "jdbcpostgresmailmerge" #name of data source (included in source document)
oMailMerge.CommandType = 0 #0 = table name, 1 = query name, 3 = SQL command
oMailMerge.Command = "public.mailmergedata" #name of table in data source
oMailMerge.OutputType = 2 #1 = printer, 2 = file, 3 = email
oMailMerge.OutputURL = uno.systemPathToFileUrl("/home/user/output/") #output directory (forward slashes only)
oMailMerge.SaveFilter = "writer8"
oMailMerge.FileNameFromColumn = True #get file name from data source column
oMailMerge.FileNamePrefix = "mergefilename" #name of data source column
oMailMerge.SaveAsSingleFile = False #save as multiple files
oMailMerge.execute([])
def main():
mergeit()
if __name__ == '__main__':
main()