Seite 1 von 1

Diagramm per Makro erstellen

Verfasst: Di, 26.03.2013 11:37
von RasmusV
Hallo liebe Forengemeinde,

ich hoffe es gibt nicht bereits ein Thema zu meiner Fragestellung. Wenn doch, Schande über mein haupt, dass ich es nicht gefunden habe.

Ich möchte ein Diagramm per Makro erstellen. Vorliegend habe ich mehrere Calc Dokumente ähnlichen Aufbaus. Die Spalten sind quasi bei jedem Dokument gleich vergeben und lediglich die Anzahl der Zeilen ist unterschiedlich (Je nach dem wie viele Tage von einem Jahr gemessen wurden).

Ich möchte nun über ein Makro ein Dialog aufrufen, welches mir die Möglichkeit gibt unterschiedliche Diagramm per einfachen Knopfdruck zu erstellen. Jedes Mal durch alle Menüs bis zum fertig formatierten Diagramm durchzuklicken erscheint bei der Anzahl der Dokumente und möglichen Diagrammen erheblich zu aufwändig.

Leider habe ich nun keinerlei Infos gefunden, wie man Diagramm über ein Makro erstellt.

Gibt es irgendelche Tutorials die das gut erklären? Oder könnt ihr mir hier im Forum dabei helfen?

Meine andere Idee wäre, dass ich ein Vorlagen Dokument erstelle in dem die Diagramme bereits drinnen sind und das Dokument per Makro mit Daten fülle. Erstere Variante wäre mir allerdings lieber, da sie erheblich bequemer und eleganter wäre.

Freue mich auf Eure Hilfe!

Beste Grüße!

PS: So Makros die feststellen wie viele Zeilen überhaupt mit Daten gefüllt sind etc. und damit die "Range" an ein Diagramm weitergeben könnten, habe ich schon alle geschrieben. Läuft auch wunderbar... daran scheitert es also nicht. Nur eben alles was mit Diagrammen zu tun hat. Daran scheitert es :-(

Re: Diagramm per Makro erstellen

Verfasst: Di, 26.03.2013 12:15
von RasmusV
Entschuldigt bitte... es war natürlich klar, dass ich erst NACH Erstellen des Themas im Forum mehr oder minder fündig werde.

viewtopic.php?t=61421&p=229846

Ich werde die gegebenen Beispiele erst ein mal durcharbeiten und dann mit genaueren Problemstellungen hier wieder fragen.

Falls jemand noch weitere Tutorials parat hat, würde ich mich natürlich sehr darüber freuen.

EDIT: Leider komme ich dann mit dem obrigen Link doch nicht so viel weiter. Es geht um ein XY Diagramm. Ich brauche einfach eine Hilfestellung, damit ich überhaupt weiß wie ich irgendwie anfangen soll. Es muss doch eine Art Tutorial dazu geben. Bitte helft mir!

Re: Diagramm per Makro erstellen

Verfasst: Di, 26.03.2013 13:43
von lorbass
Kapitel 9 im OpenOffice.org BASIC Guide beschäftigt sich mit Charts (Diagrams).

Vielleicht wirst du auch bei Andrew Pitonyak, Abschnitt Useful Macro Links, fündig. Zumindest sein 584-Seiten-Epos OpenOffice.org Macros Explained oder dessen nach und nach übersetzte deutsche Fassung erscheinen vielversprechend zu sein.

Gruß
lorbass

Re: Diagramm per Makro erstellen

Verfasst: Di, 26.03.2013 19:59
von lorbass
Und dann gibt's da noch…
Alles wie für dich geschrieben ;-)

Gruß
lorbass

Re: Diagramm per Makro erstellen

Verfasst: Mi, 27.03.2013 17:42
von RasmusV
Hey,

das ist exakt das was ich gesucht habe! Gefällt mir sehr gut! Vielen Dank für deine Hilfe!

Ich habe jetzt nur noch zwei kleine Schwierigkeiten (hoffentlich kleine):

- wie greife ich auf die Formatierung der Linien bei einem Liniendiagramm zu(Dicke, Farbe, der verschiedenen Datenbereiche, etc.)

- wie kann ich die Datenbereiche genauer festlegen? In den Beispielen wird lediglich der gesamte Datenbereich aufgespannt quasi implizit. Ich würde gerne die Datenbereiche explizit zuweisen. Da z.B. in Spalte A die Daten für die X Achse liegen aber erst in Spalte D die Daten für die Y Achse. Auch das Feld für den Namen der Datenreihe würde ich gerne separat festlegen können.



Am hilfreichsten fand ich den OpenOffice.org BASIC Programming Guide. Vielen Dank dafür!

Re: Diagramm per Makro erstellen

Verfasst: Mi, 27.03.2013 17:50
von F3K Total
Hallo,
Ich empfehle Dir die Verwendung eines Inspection-Tools wie MRI oder Xray
Damit kannst Du alle OOo-Dokumente hinsichtlich ihres Aufbaues durchleuchten und natürlich auch die Eigenschaften der Diagramme finden.
Mit deren Hilfe konnte ich gerade herausfinden, dass man mit diesem aus dem Tutorial abgewandelten Code

Code: Alles auswählen

Global aRect As New com.sun.star.awt.Rectangle
Global mRangeAddress(1) As New com.sun.star.table.CellRangeAddress
Global oCharts As Object

Sub chart_init
'sheetdoc_init()
aRect.X = 8000
aRect.Y = 1000
aRect.Width = 20000
aRect.Height = 10000
'mRangeAddress(0) = 0. Spalte (A)  = X-Achsenwerte
mRangeAddress(0).Sheet = 0
mRangeAddress(0).StartColumn = 0
mRangeAddress(0).StartRow = 0
mRangeAddress(0).EndColumn = 0
mRangeAddress(0).EndRow = 19
'mRangeAddress(0) = 5. und 6. Spalte (F und G)  = Y-Achsenwerte
mRangeAddress(1).Sheet = 0
mRangeAddress(1).StartColumn = 5
mRangeAddress(1).StartRow = 0
mRangeAddress(1).EndColumn = 6
mRangeAddress(1).EndRow = 19
oCharts = thiscomponent.Sheets(0).Charts
End Sub

Sub chart1_sample
chart_init()
oCharts.addNewByName("BarChart",aRect,mRangeAddress(),TRUE, TRUE)
End Sub


Sub chart2_sample
chart_init()
oCharts.addNewByName("BarChart",aRect,mRangeAddress(),TRUE, TRUE)
Dim oChart As Object
oChart = oCharts.getByName("BarChart").embeddedObject
oChart.diagram.DataRowSource = com.sun.star.chart.ChartDataRowSource.COLUMNS
End Sub

Sub chart3_sample
Dim oChart As Object

chart_init()

oCharts.addNewByName("LineDiagram",aRect,mRangeAddress(),TRUE, TRUE)
oChart = oCharts.getByName("LineDiagram").embeddedObject
oChart.diagram =_
oChart.createInstance("com.sun.star.chart.LineDiagram")
oChart.diagram.DataRowSource = com.sun.star.chart.ChartDataRowSource.COLUMNS
End Sub
ein Diagramm mit X-Werten aus A2:A20 und Y-Werten aus F2:G20 erzeugt.
Also statt

Code: Alles auswählen

Global mRangeAddress(0) As New com.sun.star.table.CellRangeAddress
mit

Code: Alles auswählen

Global mRangeAddress(1) As New com.sun.star.table.CellRangeAddress
zwei Bereiche definieren kann/muss.
Gruß R

Re: Diagramm per Makro erstellen

Verfasst: Mi, 27.03.2013 18:40
von RasmusV
Hey Danke!

Rein so von der Logik her hatte ich mir das auch so vorgestellt, dass man dann eben mehrere Bereiche definiert also statt mRangeAddress(0) eben mRangeAddress(1).

Mir ist jetzt nur nicht ganz klar, wie er die Inhalte der Spalten und Zeilen als x- bzw. y-Werte zuweist.

Und eben wie ich die Linien der Graphen formatiere. Im OpenOffice.org BASIC Programming Guide im Kapitel Charts wird quasi alles erklärt. Nur nicht wie ich die Liniendicke Farbe etc. ändere.

Beste Grüße!

Edit:

Ich denke, ich bin nicht genügend in der ooo Basic Sprache drinnen. Also Xray ist mir nicht ganz klar, was ich mir damit angucken kann.

Ich brauche irgendwie etwas, wie ich die Datenreihen genau zuweisen kann und wie ich auch den Datenreihen ihre Achse zu weisen kann. Sollte zB eine sekundäre Y-Achse verwendet werden.

Re: Diagramm per Makro erstellen

Verfasst: Mi, 27.03.2013 22:23
von F3K Total
RasmusV hat geschrieben:Ich denke, ich bin nicht genügend in der ooo Basic Sprache drinnen
Es gibt reichlich Lektüre: viewtopic.php?f=18&t=1553
RasmusV hat geschrieben:Ich brauche irgendwie etwas, wie ich die Datenreihen genau zuweisen kann und wie ich auch den Datenreihen ihre Achse zu weisen kann. Sollte zB eine sekundäre Y-Achse verwendet werden.
Tja, die Sache ist halt nicht so ganz einfach. Was erwartest Du, das dir jemand ein Makro schreibt? Für Umme?
Vielleicht hast Du Glück!
Du scheinst Dich ja besser aufs Bitten als aufs Lernen zu verstehen.
R

Re: Diagramm per Makro erstellen

Verfasst: Mi, 27.03.2013 22:38
von RasmusV
Die 500 seitige von Pitonyak ist bereits mein Standartnachschlagewerk. Leider behandelt dieses nicht wirklich das Erstellen von Diagrammen.

Ich erwarte nicht, dass mir jemand ein Makro schreibt. Schon gar nicht welches ich benötige. Mit alle Funktionen und Dialogen wird es doch ein wenig aufwändiger.

Ich erhoffte mir lediglich Tipps für das Erstellen von Diagrammen. Bisher war die hier gegebene Hilfe ausgezeichnet. Weiterhin hoffte ich, dass das Zuweisen der Datenreihen dem Formatieren von Diagrammen ähnlich einfach ist - dies scheint leider nicht der Fall.

Da ich das, ich nenn es mal Interne, von Basic nicht verstehe, weiß ich auch nicht, wie ich überhaupt, außer mit Fragen, an die Problemstellung herangehen könnte.

Re: Diagramm per Makro erstellen

Verfasst: Mi, 27.03.2013 22:55
von F3K Total
Dann habe ich noch diese Idee:
http://lmgtfy.com/?q=makro+%2Bdiagramm+ ... ffice.info
181 Treffer, vielleicht ist ein hilfreicher dabei.

Gruß und viel Erfolg
R