H.S. schrieb:
Ja, danke erst mal an alle, die geantwortet haben!
Das mit dem Namen über die rechte Maustaste geht tatsächlich so nicht, es
bleibt Object 1.
Mein Ziel ist es, die Datenbasis des diagramms zu manipulieren, also statt
B2:b22 z.B. b2:B32 einzugeben oder C2:C22
Aber dazu habe ich auch noch keine Lösung gefunden.
Horst
Hallo Horst,
nachfolgender Beispielcode erzeugt ein Diagramm in Calc
auf Tabelle 1 an Position x=80mm und y=10mm. Die Daten
befinden sich in Spalte A0:C65. Kopiere den Code in Deine Basic IDE
und lasse ihn einfach mal "laufen" ohne Daten. Es wird trotzdem
ein Diagramm erzeugt. Um die Datenbasis des Diagramms zu ändern
gibt es viele Wege (Dialoge, Inputboxen, Bereichs-selektion,
Cursor-Selektion etc.) mal mehr oder weniger komfortabel.
Du mußt dann mit Variablen arbeiten, die entsprechenden Stellen
habe ich kommentiert. Um den nachfolgenden Beispielcode
übersichtlich zu halten sind dort nur Werte eingetragen die
durch Variablen dann ersetzt werden müssen.
Sub Dia01
Dim objDoc As Object
Dim objDiagramme As Object
Dim objDia As Object
Dim objDiaFlaeche As New com.sun.star.awt.Rectangle
Dim objZellAdresse(0) As New com.sun.star.table.CellRangeAddress
objDoc = ThisComponent
objDiagramme = objDoc.Sheets(0).Charts
Rem Hier legst Du die Positon des Diagrammes fest.
Rem Mit X,Y,Width und Height wird die Größe in 0,01 mm festgelegt.
objDiaFlaeche.X = 8000
objDiaFlaeche.Y = 1000
objDiaFlaeche.Width = 10000
objDiaFlaeche.Height = 7000
REM Der DATENBEREICH des Diagr. wird hier festgelegt.
REM Hier setzt Du dann später Deine Variablen ein die über
REM einen Dialog z.B. abgefragt werden.
objZellAdresse(0).Sheet = 0
objZellAdresse(0).StartColumn = 0
objZellAdresse(0).StartRow = 0
objZellAdresse(0).EndColumn = 2
objZellAdresse(0).EndRow = 65
Rem Das Diagramm-Object wird erzeugt. Hier funktioniert übrigens Die
Namensvergabe,
Rem der in einem Calc-Dokument über den Navigator auch korrekt
Rem angezeigt wird (OLE-Object). Die obrigen Parameter werden mitgegeben.
objDiagramme.addNewByName("Dia1", objDiaFlaeche, objZellAdresse(),
True, True)
Rem Zugriff auf das Diagramm und Zuweisung des Diagramm-Typs.
Rem (möglich sind Linien-, Balken-, Flächen-,Tortendiagramme)
objDia = objDiagramme.getByName("Dia1").embeddedObject
objDia.Diagram = objDia.createInstance("com.sun.star.chart.LineDiagram")
Rem Nachfolgend werden dem Diagramm viele Eigenschaften mitgegeben.
Rem Am besten Du vergleichst diesen Code mit dem tatsächlich erzeugten
Rem Diagramm, dann wird deutlich welche Eigenschaft "was" macht.
objDia.HasMainTitle = True
objDia.Title.String = "xxx Funktionen"
objDia.HasSubTitle = True
objDia.Subtitle.String = "Sinus"
objDia.HasLegend = True
objDia.Legend.Alignment = com.sun.star.chart.ChartLegendPosition.RIGHT
objDia.Legend.FillStyle = com.sun.star.drawing.FillStyle.SOLID
objDia.Legend.FillColor = RGB(255, 255, 255)
objDia.Legend.CharHeight = 8
objDia.Diagram.HasXAxis = True
objDia.Diagram.HasYAxis = True
objDia.Diagram.HasXAxisDescription = True
objDia.Diagram.HasYAxisDescription = True
objDia.Diagram.XAxis.StackedText = False
objDia.Diagram.XAxis.TextBreak = False
objDia.Diagram.HasXAxisGrid = True
objDia.Diagram.HasYAxisGrid = True
objDia.Diagram.HasXAxisTitle = True
objDia.Diagram.HasYAxisTitle = True
objDia.Diagram.XAxisTitle.String = "x-Werte"
objDia.Diagram.YAxisTitle.String = "y-Werte"
End Sub
Gruß Bernd
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]