段落
段落はセクションに含まれる文章の一部分です。改段落マーク (CR) により次の段落になります。段落には行が含まれます (改行は LF)。 段落は段落スタイルでもフォーマットされます。 Writer の文章は多くの部分に段落が使われています。たとえば、ヘッダやフッタ、見出しなども全て段落です。 改段落
改段落は制御文字を挿入することで行います。 Sub paragraph_1 oDoc = ThisComponent oText = oDoc.getText() oEnd = oText.getEnd() nPB = com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK oText.insertControlCharacter(oEnd,nPB,False) End Sub Writer で Enter を押したときには改段落として CR が利用されています。また改行は LF です。一つの段落の最大文字数は 65535 文字なので改段落が必要です。 実際には CR だけでは段落が変更されるだけで、改行のために LF も必要です。CR + LF で改行を含めた改段落になります。 段落ごとの移動
テキストカーソルは段落単位で移動できます。OOoBasic/Writer/textcursor 段落のプロパティ
OOoBasic/Writer/paragraph_properties 全段落処理
ドキュメント中などテキストオブジェクト中の全ての段落を列挙型として処理できます。 Sub paragraph_6 oDoc = ThisComponent oText = oDoc.getText() oParagraphs = oText.createEnumeration() While oParagraphs.hasMoreElements() oParagraph = oParagraphs.nextElement() WEnd End Sub 段落のプロパティ変更
下記の様に全段落処理を行い段落のスタイル ParaStyleName を変更しようとすると失敗します。エラーの理由は Property not found ですが、設定のみが不可で取得は可能です。 oParagraphs = oText.createEnumeration() While oParagraphs.hasMoreElements() oParagraph = oParagraphs.nextElement() 'oParagraph.ParaStyleName = "MyStyle" ' <-- error WEnd 変更が必要な場合にはテキストカーソルを作成してから変更します。 oCursor = oText.createTextCursorByRange(oParagraph.getStart()) oCursor.ParaStyleName = "MyStyle" 全ての段落のテキスト
スペルチェックやスマートタグなどの特殊な用途のために全ての段落のテキストに順にアクセスする方法があります。この方法ではテキストの全ての書式設定属性にはアクセスできません。
|