Math 
目次 
数式オブジェクトの作成 
多くの場合、数式オブジェクトは他のドキュメントに埋め込む形で利用されます。
Writer 
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 
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