Folgendes Problem: ich möchte über ein Makro (siehe Code im Anhang) mehrere Datensätze aus einem Calc Dokument auslesen und einem Streudiagramm übergeben, um sie darzustellen.Der Datensatz besteht aus einem Namen, und je einem x-/y-Wert.
Das hinzufügen schaffe ich mittlerweile, auch dank https://wiki.openoffice.org/wiki/Docume ... ata_Access, allerdings verarbeitet das Diagramm die Daten falsch, die Unterscheidung von x- und y-Werten geht verloren, es werden nur einzelne y-Werte erkannt und entsprechend die Datensätze verdoppelt (siehe angehängtes Bild).
Ich vermute mal, dass die Art, wie ich die Daten übergebe nicht richtig ist, leider finde ich aber hierzu nichts genaueres in der Dokumentation.
Mit dem momentanen Code baue ich im Prinzip den Datensatz nach, den ich mittels XRay aus einem manuel erstellten Diagram auslesen kann.
Mir gehen mittlerweilen echt die Ideen aus.... x_x

Ich hoffe, man versteht halbwegs, was ich vorhabe
Vielen Dank schon mal im vorraus für jede Art der Hilfe!
MfG Rasakul
--------------------------------------------------------
Windows 7
OpenOffice 4.1.0
Java 7 Update 55
--------------------------------------------------------
Der verkürzte Code (ich laufe eigentlich mit einer Schleife über das Dokument, hab ich aber wegen der Übersicht rausgenommen)
Code: Alles auswählen
sheet = oMap.Sheets.getByIndex(0) 'oMap ist das Dokument
embed = sheet.Charts.getByIndex(0).EmbeddedObject
Dim oDataArray(0 To 1) As Object
Dim oNameArray(0 To 1) As String
Dim XData( 0 To 0 ) As Double 'X-Wert des Datensatzes
Dim YData( 0 To 0 ) As Double 'Y-Wert des Datensatzes
Dim oName( 0 To 0 ) As String Beschriftung des Datensatzes
x=3
y=4 'Position des ersten Datensatzes
'Daten auslesen
YData(0) = sheet.getCellByPosition(x,y).value
XData(0) = sheet.getCellByPosition(x,y+1).value
oName(0) = sheet.getCellByPosition(x-3,y).string
'Array zusammensetzen
oDataArray(i) = XData()
oDataArray(i+1) = YData()
oNameArray(i+1) = oDesc(0)
'überprüfen
'XRay oDataArray
'XRay oNameArray
'vergleichen mit manuel erstelltem Diagram
'XRay embed.getData().getData()
'XRay embed.getData().getRowDescriptions()
'Daten dem Diagram übergeben
embed.getData().setData(oDataArray)
embed.getData().setRowDescriptions(oDescArray)