Top > OOoBasic > Math

*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

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes