Difference between revisions of "API/Samples/StarBasic/Impress/Insert a Chart"

From Apache OpenOffice Wiki
< API‎ | Samples‎ | StarBasic
Jump to: navigation, search
m
 
(2 intermediate revisions by 2 users not shown)
Line 7: Line 7:
 
|}
 
|}
  
<code>[starbasic]
+
<syntaxhighlight lang="oobas">
 
Sub Main
 
Sub Main
 
     ' get the first slide
 
     ' get the first slide
Line 16: Line 16:
 
     ' important: first add the shape
 
     ' important: first add the shape
 
     oPage.add( oOLEShape )
 
     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
 
     ' then make the OLE object a chart. The class-id is for charts, use exactly this one
Line 28: Line 37:
 
     EndIf
 
     EndIf
 
End Sub
 
End Sub
</code>
+
</syntaxhighlight>
 
[[Category:API]]
 
[[Category:API]]
 
[[Category:Samples]]
 
[[Category:Samples]]

Latest revision as of 17:07, 30 January 2021

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"
    EndIf
End Sub
Personal tools