表計算ドキュメント内のグラフの使用

From Apache OpenOffice Wiki
Jump to: navigation, search
doc OOo
Book.png


表計算ドキュメント内のグラフでは、表計算ドキュメント内で割り当てられたセル範囲からデータを表示できます。 表計算ドキュメント内でデータに加えられた変更は、割り当てられたグラフにも反映されます。 次のサンプルコードは、表計算ドキュメント内のセル範囲に割り当てられたグラフの作成方法の例です。

Dim Doc As Object
Dim Charts As Object
Dim Chart as Object
Dim Rect As New com.sun.star.awt.Rectangle
Dim RangeAddress(0) As New com.sun.star.table.CellRangeAddress
 
Doc = StarDesktop.CurrentComponent
Charts = Doc.Sheets(0).Charts
 
Rect.X = 8000
Rect.Y = 1000
Rect.Width = 10000
Rect.Height = 7000
RangeAddress(0).Sheet = 0
RangeAddress(0).StartColumn = 0 
RangeAddress(0).StartRow = 0
RangeAddress(0).EndColumn = 2
RangeAddress(0).EndRow = 12
 
Charts.addNewByName("MyChart", Rect, RangeAddress(), True, True)

上記のサンプルコードは一見するとかなり複雑に感じられますが、主要な処理は 3 行に集約されます。その 1 つ目は、現在の表計算ドキュメントを参照するために、Doc というドキュメント変数を用意する行です (Doc= StarDesktop.CurrentComponent)。2 つ目は、表計算ドキュメントの最初の表 (スプレッドシート) 上を対象に、存在するすべてのグラフを登録したリストを作成する行です (Charts= Doc.Sheets(0).Charts)。そして、最後の行に addNewByName メソッドを使用して、このリストに新しいグラフを追加します。新規に作成したグラフは、この処理を経て初めて画面上に表示されます。変数 RangeAddress により、割り当てられたセル範囲が指定され、グラフ内にそのデータが表示されます。変数 Rect により、表計算ドキュメントの最初のシート内のグラフの位置とサイズが指定されます。

上記のサンプルコードのままでは、作成されるグラフは常に縦棒グラフとなります。作成したグラフの種類を棒グラフ以外に変更するには、次のようなコードを追加して、表示するグラフの種類を明示的に指定する必要があります。

Chart = Charts.getByName("MyChart").embeddedObject
Chart.Diagram = Chart.createInstance("com.sun.star.chart.LineDiagram")

上記のコードの最初の行は、対象とするグラフオブジェクトを特定するための処理です。その次の行は、作成済みのグラフの種類を変更する処理で、この場合は折れ線グラフを指定しています。

Template:Documentation/Note

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools