Top > OOoBasic > Writer > Paragraph
*段落 [#rb767a4d]

段落はセクションに含まれる文章の一部分です。改段落マーク (CR) により次の段落になります。段落には行が含まれます (改行は LF)。

段落は段落スタイルでもフォーマットされます。

Writer の文章は多くの部分に段落が使われています。たとえば、ヘッダやフッタ、見出しなども全て段落です。

#contents

**改段落 [#h3a04d3a]

改段落は制御文字を挿入することで行います。

 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 で改行を含めた改段落になります。

**段落ごとの移動 [#l188bf67]

テキストカーソルは段落単位で移動できます。[[OOoBasic/Writer/textcursor]]
**段落のプロパティ [#n4463ccb]

[[OOoBasic/Writer/paragraph_properties]]

**全段落処理 [#pfa1abdf]

ドキュメント中などテキストオブジェクト中の全ての段落を列挙型として処理できます。

 Sub paragraph_6
   oDoc = ThisComponent
   oText = oDoc.getText()
   oParagraphs = oText.createEnumeration()
   While oParagraphs.hasMoreElements()
     oParagraph = oParagraphs.nextElement()
   WEnd
 End Sub

** 段落のプロパティ変更 [#a9250a8e]
下記の様に全段落処理を行い段落のスタイル 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"

** 全ての段落のテキスト [#q7c05de3]
スペルチェックやスマートタグなどの特殊な用途のために全ての段落のテキストに順にアクセスする方法があります。この方法ではテキストの全ての書式設定属性にはアクセスできません。

#code(basic){{
Sub ParseAllParagraphText
  oDoc = ThisComponent
  oParagraphs = oDoc.getFlatParagraphIterator( _
      com.sun.star.text.TextMarkupType.SENTENCE, False)
  
  oPara = oParagraphs.getFirstPara()
  
  While NOT IsNull(oPara)
    'mri oPara.getText
    msgbox oPara.getText()
    
    oPara = oParagraphs.getNextPara()
  WEnd
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