Top > OOoBasic > Base > Forms

* フォーム [#g0ecd628]

フォームドキュメントは普通の Writer ドキュメントと変わりありませんが、 インターフェースをサポートおり、そのインターフェースのメソッドを使用して親ドキュメントへアクセスできます。


** フォームコンテナ [#e8af9625]

 Sub Forms_1
   oDoc = StarDesktop.getCurrentComponent()
   oForms = oDoc.getFormDocuments()
 End Sub

** フォームの読み込み [#q4ef404b]
フォームドキュメントの読み込みには loadComponentFromURL メソッドを使用します。

 Sub Forms_2
   oDoc = StarDesktop.getCurrentComponent()
   Dim args(1) As New
   args(0).Name = "ActiveConnection"
   args(0).Value = oDoc.DataSource.getConnection("", "")
   args(1).Name = "OpenMode"
   args(1).Value = "open"
   oForms = oDoc.getFormDocuments()
   oForms.loadComponentFromURL("FormName", "_blank", 0, args)
 End Sub

編集状態で開く場合には OpenMode に openDesign を指定します。

** フォームの削除 [#v6a44195]

 Sub Form_3
   oDoc = StarDesktop.getCurrentComponent()
   oForms = oDoc.getFormDocuments()
 End Sub

** フォームの作成 [#y214d372]
新しいフォームドキュメントを追加するには次のように サービスをインスタンス化して挿入します。

 Sub Form_4
  oFormDocuments = StarDesktop.getCurrentComponent().getFormDocuments()
  oForm = oFormDocuments.createInstance("")
  oFormDocuments.insertByName("New", oForm)
 end sub
** フォームから親データベースドキュメント [#s9512def]
フォームから親データベースドキュメントへアクセスするには getParent メソッドで親オブジェクトを取得します。

 Sub Form_10
   oDoc = ThisComponent
   oParent = oDoc.getParent()
   msgbox oParent.getLocation()
 End Sub

フォームがデータベースドキュメントに埋め込まれている場合には、次のようにしてフォームからデータベースドキュメントにアクセスできます。3.1 以降。

 oDbDoc = ThisDatabaseDocument

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