![]() |
OpenOffice-Automation - Datenquelle für Serienbrief erstelle
Hallo zusammen!
Ich bin gerade dabei mit meiner Anwendung OpenOffice zu automatisieren. Bisher klappt alles ganz gut. Jetzt versuche ich mich an Serienbriefen mit CSV-Dateien als Datenquelle. Diese muss ich in OO als Datenbank anlegen damit sie für den Serienbrief verfügbar sind. Dazu habe ich ![]()
Delphi-Quellcode:
In der kommentierten Zeile knallt es, ich bekomme hier eine "com.sun.star.lang.IllegalArgumentException".
var
fOpenOffice, wDBContext, WDSource, wStruct, wMailMerge: variant; wPropertyValue: Variant; fOpenOffice := CreateOleObject('com.sun.star.ServiceManager'); wDBContext := fOpenOffice.createInstance('com.sun.star.sdb.DatabaseContext'); wDSource := wDBContext.GetByName('file://c:/personen.csv'); wPropertyValue := VarArrayCreate([0, 5], varVariant); wPropertyValue[0] := IMakePropertyValue('Extension', 'csv'); wPropertyValue[1] := IMakePropertyValue('HeaderLine', true); wPropertyValue[2] := IMakePropertyValue('FieldDelimiter', ';'); wPropertyValue[3] := IMakePropertyValue('StringDelimiter', ''); wPropertyValue[4] := IMakePropertyValue('DecimalDelimiter', ','); wPropertyValue[5] := IMakePropertyValue('ThousandDelimiter', '.'); wDSource.setPropertyValue('URL', 'sdbc:flat:file://c:/personen.csv'); wDSource.setPropertyValue('Info', wPropertyValue); // <-- Hier knallt es wDSource.DatabaseDocument.storeAsURL('file://c:/personen.odb'), VarArrayCreate([0, -1], varVariant)); wDBContext.registerObject('my-personen', wDSource); Hat jemand eine Idee wieso es knallt und was ich dagegen tun kann? Vielleicht ein funktionierendes Beispiel (Link)? MfG Thomas. |
Re: OpenOffice-Automation - Datenquelle für Serienbrief erst
Kann es sein, dass es hier
Delphi-Quellcode:
knallt und nicht hier
wDSource.setPropertyValue('URL', 'sdbc:flat:file://c:/personen.csv');
Delphi-Quellcode:
?
wDSource.setPropertyValue('Info', wPropertyValue); // <-- Hier knallt es
Weil wenn ich mir ![]() EDIT: Zeilen vertauscht :roll: wenn dann, knallt es ja vor der Zeile, an der der Compiler steht... |
Re: OpenOffice-Automation - Datenquelle für Serienbrief erst
Zitat:
Es knallt aber tatsächlich in der gekennzeichneten Zeile, zumindest knallt es wenn ich diese im Debugger ausführe. MfG Thomas. |
Re: OpenOffice-Automation - Datenquelle für Serienbrief erst
Erwartet die setPropertyValue-Methode evtl. noch irgendwelche zusätzlichen Parameter oder so? Ich könnte mir vorstellen, dass z.B. das Array nicht automatisch zerpflückt wird, sondern dass du ihm das einzeln übergeben musst.
In etwa so:
Delphi-Quellcode:
wDSource.setPropertyValue('Info', wPropertyValue[0], wPropertyValue[1]...)
Disclaimer: Nur Vermutungen. Ich maße es mir an, zu antworten, weil ich auch schonmal bisschen mit OO-Automation rumgepfuscht habe, mehr jedoch nicht. |
Re: OpenOffice-Automation - Datenquelle für Serienbrief erst
Zitat:
"[automation bridge] unexpected exception in UnoConversionUtilities <T>::variantToAny !" Das wars also auch nicht. MfG Thomas. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz