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]

Antwort per Email an