*Math [#l915cf1c] **目次 [#m14eccc3] - [[プロパティ>./Properties]] - [[コンフィグレーション>./Configuration]] ** 数式オブジェクトの作成 [#ff6ad882] 多くの場合、数式オブジェクトは他のドキュメントに埋め込む形で利用されます。 *** Writer [#ua4adfe1] Writer の場合にはドローページに配置されますが、他のドキュメントの図形描写オブジェクトとは少し異なります。 Sub CreateFormulaObject_1 oDoc = ThisComponent oText = oDoc.getText() oCursor = oText.createTextCursor(oText.getEnd()) oObj = oDoc.createInstance("com.sun.star.text.TextEmbeddedObject") oObj.CLSID = "078B7ABA-54FC-457F-8551-6147e776a997" oText.insertTextContent(oCursor, oObj, False) oFormula = oObj.getEmbeddedObject() oFormula.Formula = "s = sqrt{alignc {1} over {N - 1} sum from i = 1 to N (x_i - bar x )^2}" End Sub getEmbeddedObject メソッドの返り値と EmbeddedObject プロパティの値は異なるオブジェクトのため、注意が必要です。 *** Calc、Draw、Impress [#l25b0c37] Calc、Draw、Impress ではドローページに追加する形になります。 以下は Calc に数式を挿入します。挿入した直後はオブジェクトのサイズが小さすぎるので元のサイズに戻しています。 Sub CreateFormulaObject_2 oDoc = ThisComponent oDrawPage = oDoc.getSheets().getByIndex(0).getDrawPage() oShape = oDoc.createInstance("com.sun.star.drawing.OLE2Shape") oShape.CLSID = "078B7ABA-54FC-457F-8551-6147e776a997" oDrawPage.add(oShape) oFormula = oShape.Model oFormula.Formula = "s = sqrt{alignc {1} over {N - 1} sum from i = 1 to N (x_i - bar x )^2}" oShape.setSize(oShape.OriginalSize) End Sub |