Difference between revisions of "JA/Documentation/BASIC Guide/Charts in Spreadsheets"

From Apache OpenOffice Wiki
Jump to: navigation, search
 
(One intermediate revision by one other user not shown)
Line 47: Line 47:
 
上記のコードの最初の行は、対象とするグラフオブジェクトを特定するための処理です。その次の行は、作成済みのグラフの種類を変更する処理で、この場合は折れ線グラフを指定しています。
 
上記のコードの最初の行は、対象とするグラフオブジェクトを特定するための処理です。その次の行は、作成済みのグラフの種類を変更する処理で、この場合は折れ線グラフを指定しています。
  
{{Documentation/Note|Microsoft Excel の場合、ドキュメント中のワークシート (スプレッドシート) として挿入したグラフと、ワークシート上に埋め込んだグラフとは、明確に区別されています。そのため、これらのグラフへのアクセスに関しても、異なる 2 通りの方法が用意されています。これに対して {{OOo}} Basic の場合、{{OOo}} Calc のグラフは、常に表 (スプレッドシート) への埋め込みグラフとして作成されます。このためグラフへのアクセスも、常に <tt>Sheet</tt> オブジェクトの <tt>Charts</tt> リストを用いて行います。}}
+
{{Note|Microsoft Excel の場合、ドキュメント中のワークシート (スプレッドシート) として挿入したグラフと、ワークシート上に埋め込んだグラフとは、明確に区別されています。そのため、これらのグラフへのアクセスに関しても、異なる 2 通りの方法が用意されています。これに対して {{OOo}} Basic の場合、{{OOo}} Calc のグラフは、常に表 (スプレッドシート) への埋め込みグラフとして作成されます。このためグラフへのアクセスも、常に <tt>Sheet</tt> オブジェクトの <tt>Charts</tt> リストを用いて行います。}}
 +
 
  
 
{{PDL1}}
 
{{PDL1}}
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Charts in Spreadsheets}}
 
 
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Charts in Spreadsheets}}
 
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Charts in Spreadsheets}}

Latest revision as of 14:10, 6 July 2018

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")

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

Documentation note.png Microsoft Excel の場合、ドキュメント中のワークシート (スプレッドシート) として挿入したグラフと、ワークシート上に埋め込んだグラフとは、明確に区別されています。そのため、これらのグラフへのアクセスに関しても、異なる 2 通りの方法が用意されています。これに対して Apache OpenOffice Basic の場合、Apache OpenOffice Calc のグラフは、常に表 (スプレッドシート) への埋め込みグラフとして作成されます。このためグラフへのアクセスも、常に Sheet オブジェクトの Charts リストを用いて行います。


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