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

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [Gelöst] Via Makro Datensätz zu Diagramm hinzufügen

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

von Rasakul » Di, 05.08.2014 12:19

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

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

von Rasakul » Di, 29.07.2014 16:15

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) 1634 mal betrachtet
So sollte das Ergebnis aussehen
So sollte das Ergebnis aussehen
ShouldBe.PNG (5.49 KiB) 1634 mal betrachtet

Nach oben