Difference between revisions of "Chart2/ChangeTitleFormattingForAllChartsInACalc"

From Apache OpenOffice Wiki
Jump to: navigation, search
(New page: {| | Description: || Iterate over all chart in a spreadsheet document, insert a title and do some formattings at the title. |+ | Programming Language: || StarBasic |+ | Author: ...)
 
Line 1: Line 1:
 
{|
 
{|
| Description:          || Iterate over all chart in a spreadsheet document, insert a title and do some formattings at the title.
+
| Description:          || Iterate over all charts in a spreadsheet document, insert a title and do some formatting at the title.
 
|+
 
|+
 
| Programming Language: || StarBasic
 
| Programming Language: || StarBasic

Revision as of 12:05, 25 February 2008

Description: Iterate over all charts in a spreadsheet document, insert a title and do some formatting at the title.
Programming Language: StarBasic
Author: Ingrid Halama, 2008

[starbasic] Sub Main changeAllChartsInCalc() End Sub

sub changeAllChartsInCalc()

 'iterate over all charts in a calc document
 dim oSheet as object
 dim oCharts as object 
 SheetCount=ThisComponent.Sheets.getCount
 SheetNo=0
 while( SheetNo<SheetCount )
   oSheet=ThisComponent.Sheets(SheetNo)
   oCharts=oSheet.Charts
   ChartCount=oCharts.getCount
   ChartNo=0
   while(ChartNo<ChartCount)
     dim oChartModel as object
     oChartModel = oCharts(ChartNo).EmbeddedObject
     changeOneChart( oChartModel )
     ChartNo=ChartNo+1
   wend
   SheetNo=SheetNo+1
 wend

end sub

sub changeOneChart( oChartModel as object )

 'prevent change notifications to optimize performance
 oChartModel.lockControllers
 ' insert a main title and set some properties
 oChartModel.HasMainTitle = True
 oChartModel.Title.String = "Example Title"
 'modify font and size
 oChartModel.Title.CharFontName = "Times New Roman"
 oChartModel.Title.CharHeight = 14
 'modify color
 'light gray 20% for the text for example
 oChartModel.Title.CharColor = 13421772
 'some blue color 'chart12' for the backround
 oChartModel.Title.FillStyle = com.sun.star.drawing.FillStyle.SOLID
 oChartModel.Title.FillColor = 34001
 'add thin black lines around
 oChartModel.Title.LineStyle = com.sun.star.drawing.LineStyle.SOLID
 oChartModel.Title.LineColor = 0
 'allow change notifications again thus the chart view gets updated when necessary
 oChartModel.unlockControllers

end sub

Personal tools