* タイトル・サブタイトル [#be91b940] タイトルとサブタイトル。 #contents ** タイトル [#id334a3b] タイトルはチャート オブジェクトから取得します。 タイトルはチャートオブジェクトから取得します。 %%旧式の方法ではチャートオブジェクトの com.sun.star.chart. インターフェースの getTitle メソッドを使用してチャートタイトルオブジェクト .chart.ChartTitle を取得します。%% %%新式?の方法では%%チャート オブジェクトの com.sun.star.chart2.XTitled インターフェースの getTitleObject メソッドでタイトル オブジェクト .chart2.Title を取得します。 %%新式?の方法では%%チャートオブジェクトの com.sun.star.chart2.XTitled インターフェースの getTitleObject メソッドでタイトルオブジェクト .chart2.Title を取得します。 ** サブタイトル [#jadc98fb] %%旧式の方法ではサブタイトルはチャートオブジェクトから getSubTitle メソッドを使用して取得します。%% %%新式?の方法では%%サブタイトルはダイアグラムの .chart2.XTitled インターフェースの getTitleObject メソッドでタイトル オブジェクトを取得します。 ** タイトル オブジェクト [#kce0f13e] %%新式?の方法では%%サブタイトルはダイアグラムの .chart2.XTitled インターフェースの getTitleObject メソッドでタイトルオブジェクトを取得します。 ** タイトルオブジェクト [#kce0f13e] タイトル、サブタイトル共に getTitleObject メソッドで返されるオブジェクトは同じです。タイトルが表示されていないときには返り値が Null になります。 #code(ob){{ Sub title_3 Sub title_3 oCharts = ThisComponent.getSheets().getByIndex(0).getCharts() oChart = oCharts.getByIndex(0).getEmbeddedObject() oTitleObj = oChart.getTitleObject() End Sub }} End Sub タイトルが設定されていない場合には次のようにして追加できます。 oChart = oCharts.getByIndex(0).getEmbeddedObject() If NOT oChart.HasMainTitle Then oTitleObj = CreateUnoService("com.sun.star.chart2.Title") oStr1 = CreateUnoService("com.sun.star.chart2.FormattedString") oStr1.setString("New Titel") oTitleObj.setText(Array(oStr1)) aRPos = CreateUnoStruct("com.sun.star.chart2.RelativePosition") With aRPos .Anchor = com.sun.star.drawing.Alignment.TOP_LEFT .Primary = 0.35 .Secondary = 0.05 End With oTitleObj.RelativePosition = aRPos oChart.setTitleObject(oTitleObj) End If 位置の調整が難しいので、 oChart.HasMainTitle = True としてからタイトルを編集する、またはチャート ドキュメントのページ サイズとタイトルの図形描写オブジェクトのサイズから位置を計算します。また、チャートのダイアグラムとの位置を調整する必要もあります。 としてからタイトルを編集する、またはチャートドキュメントのページサイズとタイトルの図形描写オブジェクトのサイズから位置を計算します。また、チャートのダイアグラムとの位置を調整する必要もあります。 タイトル オブジェクトがサポートしているプロパティは次のものです。 タイトルオブジェクトがサポートしているプロパティは次のものです。 - [[表面>../Properties#ve4daec7]] - [[外枠>../Properties#k4c88284]] |プロパティ|型|説明|h |ParaAdjust|.style.ParagraphAdjust|揃え| |ParaBottomMargin|long|下余白| |ParaIsHyphenation|boolean|| |ParaLastLineAdjust|short|最終行の調整| |ParaLeftMargin|long|左余白| |ParaRightMargin|long|右余白| |ParaTopMargin|long|上余白| |ReferencePageSize|.awt.Size|| |RelativePosition|.chart2.RelativePosition|相対位置| |StackCharacters|boolean|| |TextRotation|double|回転表示| ** タイトルのテキスト [#kc358bcb] タイトルに表示されているテキストは getText メソッドで取得できます。返り値は [].chart2.FormattedString です。この各オブジェクトは文字列およびプロパティを保持していますが、全体のプロパティを決めるのは最初のものです (不具合?)。 oTitleObj = oChart.getTitleObject() oStrings = oTitleObj.getText() If UBound(oStrings) >= 0 Then msgbox oStrings(0).getString() End If たとえば、以下の様にして新しく文字サイズなどの指定を分けて設定しても先に配列に入れた設定になります。文字列は全て表示されます。 oTitleObj = oChart.getTitleObject() oStr1 = CreateUnoService("com.sun.star.chart2.FormattedString") oStr2 = CreateUnoService("com.sun.star.chart2.FormattedString") oStr1.setString("title") oStr2.setString(" 124") oStr1.CharHeight = 10 oStr2.CharHeight = 20 oTitleObj.setText(Array(oStr1, oStr2)) |