Top > OOoBasic > Writer > FootNote

脚注 Edit

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

脚注の挿入 Edit

脚注を新規挿入します。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 にします。

脚注の編集 Edit

脚注を編集する場合にはテキストテキストカーソルを利用できます。

アンカー Edit

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

oTextRange = oFootnote.getAnchor()
msgbox oTextRange.getString()

脚注の場合のテキスト範囲は脚注マークのあるテキスト範囲になります。

脚注の削除 Edit

脚注を削除するには、下記の脚注コンテナなどから削除したい脚注オブジェクトを取得したのち、テキストオブジェクトからテキストコンテンツとして削除します。

oText = ThisComponent.getText()

oText.removeTextContent( oFootnote )

脚注コンテナ Edit

ドキュメント中のすべての脚注を管理する脚注コンテナオブジェクトがあります。

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

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

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

'If NOT oFootNotes.hasElements() Then Exit Sub
For i = 0 To oFootNotes.getCount() -1 Step 1
  oNote = oFootNotes.getByIndex(i)
  ' do something ...
Next

脚注の設定 Edit

脚注の設定では脚注の番号やアンカーに適用するスタイルの設定などが行えます。脚注の次の番号を自動的に作成してくれるプロパティもあります。

oFNSetting = ThisComponent.getFootnoteSettings()

文末脚注では getEndnoteSettings メソッドを利用してください。

番号の生成 Edit

脚注を順番に作成していく場合に次の番号を生成してくれます。取得した値が次の脚注の番号値を示します。

nCoun = oFNSettings.FootnoteCounting

接頭語 Edit

なぜか動きません。

oFNSettings.Prefix = "Pre."

接尾語 Edit

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

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