API/Samples/StarBasic/Impress/Insert a Chart

From Apache OpenOffice Wiki
< API‎ | Samples‎ | StarBasic
Jump to: navigation, search
Description: Create a new Chart object on a slide of a presentation or the page of a draw document.
Programming Language: StarBasic
Author: Björn Milcke, 2007
Sub Main
    ' get the first slide
    Set oPage = ThisComponent.getDrawPages().getByIndex(0)
    ' create an OLE2Shape
    Set oOLEShape = ThisComponent.createInstance( "com.sun.star.drawing.OLE2Shape" )
    ' important: first add the shape
    oPage.add( oOLEShape )
    Dim oPos As New com.sun.star.awt.Point
    Dim oSize As New com.sun.star.awt.Size
    oPos.X = 0
    oPos.Y = 0	
    oSize.Width = 8000
    oSize.Height = 7000
    oOLEShape.Size = oSize
    oOLEShape.Position = oPos
    ' then make the OLE object a chart. The class-id is for charts, use exactly this one
    oOLEShape.CLSID = "12dcae26-281f-416f-a234-c3086127382e"
    ' get the chart's model for modification
    Set oChartModel = oOLEShape.Model
    If Not IsNull( oChartModel ) Then
        ' e.g., Set a main title
        oChartModel.HasMainTitle = True
        oChartModel.Title.String = "Created via UNO API"
End Sub
Personal tools