Top > OOoBasic > Writer > FootNote

*脚注 [#t74fba50]

脚注の取扱い。Footnote。文末脚注は Endnote。別々のものですが、両方共表示位置が違うだけなので同じように扱えます。

#contents
**脚注の挿入 [#tcfe1a22]
脚注を新規挿入します。com.sun.star.text.Footnote サービスをドキュメントオブジェクトからインスタンス化、ラベルを設定した後でテキストに挿入します。脚注自体のテキストを設定するのは挿入後になります。
 Sub footnote_1
  oDoc = ThisComponent
  oText = oDoc.getText()
  
  oFootNote = oDoc.createInstance("com.sun.star.text.Footnote")
 
  oFootNote.Label = "1"
 
  oText.insertTextContent(oText.getEnd(),oFootNote,False)
  
  oFootNote.String = "Foot Note test."
 End Sub

文末脚注を挿入したい場合はサービス名を com.sun.star.text.Endnote にします。

**脚注の編集 [#s698f62b]
脚注を編集する場合には[[テキスト>OOoBasic/Writer/text]]や[[テキストカーソル>OOoBasic/Writer/textcursor]]を利用できます。

**アンカー [#d7f83c60]
脚注オブジェクトはテキストコンテンツなのでどこかテキスト範囲に所属しています。所属するテキスト範囲を知るにはアンカーを取得します。

 oTextRange = oFootnote.getAnchor()
 msgbox oTextRange.getString()
脚注の場合のテキスト範囲は脚注マークのあるテキスト範囲になります。
**脚注の削除 [#jff37027]
脚注を削除するには、下記の脚注コンテナなどから削除したい脚注オブジェクトを取得したのち、テキストオブジェクトからテキストコンテンツとして削除します。

 oText = ThisComponent.getText()
 
 oText.removeTextContent( oFootnote )
**脚注コンテナ [#i7e47475]
ドキュメント中のすべての脚注を管理する脚注コンテナオブジェクトがあります。

 Sub footnotes_10
   oDoc = ThisComponent
   oFootNotes = oDoc.getFootnotes()
 End Sub

このコンテナオブジェクトは [[com.sun.star.container.XIndexAccess>OOoBasic/Generic/Containers#m6f9bf96]] インターフェースをサポートしています。このコンテナからは脚注オブジェクトを取得できますが、削除はできません。

このコンテナオブジェクトを利用してドキュメント中のすべての脚注にアクセスするには次のようにします。

 'If NOT oFootNotes.hasElements() Then Exit Sub
 For i = 0 To oFootNotes.getCount() -1 Step 1
   oNote = oFootNotes.getByIndex(i)
   ' do something ...
 Next
**脚注の設定 [#t9912fa7]
脚注の設定では脚注の番号やアンカーに適用するスタイルの設定などが行えます。脚注の次の番号を自動的に作成してくれるプロパティもあります。

 oFNSetting = ThisComponent.getFootnoteSettings()

文末脚注では getEndnoteSettings メソッドを利用してください。
***番号の生成 [#a17e500a]
脚注を順番に作成していく場合に次の番号を生成してくれます。取得した値が次の脚注の番号値を示します。

 nCoun = oFNSettings.FootnoteCounting

***接頭語 [#s05a8c5e]
なぜか動きません。

 oFNSettings.Prefix = "Pre."

***接尾語 [#e5bbeb88]
脚注の番号の後につづく接尾語を設定できます。この接尾語はページ最下部の脚注の本文の先頭に表示される番号の後に表示されます。

 oFNSettings.Suffix = "Suf."

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