[Gelöst] Via Makro Datensätz zu Diagramm hinzufügen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
Rasakul
**
Beiträge: 32
Registriert: Di, 29.07.2014 15:26
Wohnort: Wien

[Gelöst] Via Makro Datensätz zu Diagramm hinzufügen

Beitrag von Rasakul »

Hallo liebe Community!

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)
Dateianhänge
So sieht es leider bei mir aus
So sieht es leider bei mir aus
ShouldNotBe.PNG (3.43 KiB) 1631 mal betrachtet
So sollte das Ergebnis aussehen
So sollte das Ergebnis aussehen
ShouldBe.PNG (5.49 KiB) 1631 mal betrachtet
Zuletzt geändert von Rasakul am Di, 19.08.2014 12:49, insgesamt 2-mal geändert.
Wenn du dir die Anwender deiner Programme als Idioten vorstellst, werden auch nur Idioten deine Programme verwenden - Linus Torvalds
Benutzeravatar
Rasakul
**
Beiträge: 32
Registriert: Di, 29.07.2014 15:26
Wohnort: Wien

Re: Via Makro Datensätz zu Diagramm hinzufügen

Beitrag von Rasakul »

Ich habe das Problem mittlerweile selber gelöst - der Ansatz war komplett falsch

falls jemand in Zukunft das selbe Problem hat, findet er/sie hier die Lösung: https://forum.openoffice.org/en/forum/v ... =20&t=8991
Wenn du dir die Anwender deiner Programme als Idioten vorstellst, werden auch nur Idioten deine Programme verwenden - Linus Torvalds
Antworten