Top > OOoBasic > Writer > ViewCursor

ビューカーソル Edit

Writer ドキュメントを取り扱う際にはビューカーソル (ViewCursor) をよく使用します。そこで,このページではこのビューカーソルを取り扱います。ビューカーソルはビジブルカーソル (visible cursor) とも呼ばれます。

ビューカーソルとは,テキストを入力する際や選択する際のカーソルと同じものとみなすことができます。そのため,現在のカーソル位置に挿入したりするときに利用できます。

取得 Edit

ビューカーソルオブジェクトを取得します。

ビューカーソルオブジェクトは CurrentController から取得することができます。次のようにします。

Sub viewcursor_1
Dim oDoc As Object
Dim oController As Object
Dim oViewCursor As Object

  oDoc = ThisComponent
  oController = oDoc.getCurrentController()
  oViewCursor = oController.getViewCursor()
End Sub

Writer ドキュメントオブジェクトの持つ getCurrentController メソッドを使用して CurrentController オブジェクトを取得します。さらに, getViewCursor メソッドを使用してビューカーソルオブジェクトを取得します。

プロパティーとメソッド Edit

ビューカーソルを使用して文字列を入力したりフォントを変更したり,プロパティーを取り扱います。また,文字列中の移動にはメソッドを使用します。

ビューカーソルオブジェクトが持つプロパティーとメソッドはこのページ?を参考にしてください。

まずは文字列を入力してみます。これには String プロパティーまたは setString メソッドを使用します。

Sub viewcursor_2
Dim oDoc As Object
Dim oController As Object
Dim oViewCursor As Object

  oDoc = ThisComponent
  oController = oDoc.getCurrentController()
  oViewCursor = oController.getViewCursor()

  oViewCursor.setString("Writer ?")
End Sub

ビューカーソルの使い方 Edit

ビューカーソルはテキスト範囲オブジェクトとしても使用することができます。たとえば,テキストコンテンツを挿入する際に使用する insertTextContent メソッドの一つ目の引数や文字列を挿入するメソッド insertString の引数としても使用できます。

たとえば,次のような使い方ができます。

Sub insert_Chars(sChars As String) 'June 4, 2004. ver. 0.2
Dim oDoc As Object, oController As Object, oViewCursor As Object
Dim oText As Object, oRange As Object
Dim sChar As String

  oDoc = ThisComponent
  oController = oDoc.getCurrentController()
  oViewCursor = oController.getViewCursor()
  oRange = oViewCursor.getStart()
  oText = oViewCursor.getText()

    'oViewCursor.gotoRange(oText,false)
    'sChar = Chr(nChar)
    oText.insertString(oViewCursor,sChars,false)
End Sub

文字列の設定 Edit

現在のビューカソルの位置に文字列を設定する setString メソッドがあります。

void setString( string sString )

ビューカソルで文字列が選択状態の場合には置換されます。

ビューカーソルの移動 Edit

テキスト中をビューカーソルが移動する方法です。ページ単位,行単位,文字単位などでの移動が可能です。

ページ移動 Edit

ビューカーソルをページ単位で移動する方法です。

まず,現在のページ数を取得するには getPage メソッドを使用します。

integer getPage ( void )

ドキュメントの最初のページに移動する jumpToFirstPage メソッド,または最後のページに移動する jumpToLastPage メソッドがあります。戻り値が false の時は移動に失敗したことを示します。そのときには指定した位置にすでにビューカソルが存在していることを示します。

boolean jumpToFirstPage ( void )
boolean jumpToLastPage ( void )

ページ番号を指定して移動するには jumpToPage メソッドを使用します。

boolean jumpToPage ( integer nPageNumber )
  • nPageNumber: ページ数

現在のページの次のページに移動する jumpToNextPage メソッド,現在のページのひとつ前のページに移動する jumpToPreviousPage メソッドがあります。

boolean jumpToNextPage ( void )
boolean jumpToPreviousPage ( void )

ページ内移動 Edit

ビューカーソルが現在いるページ内で移動するメソッドです。現在のページの最初に移動するメソッド jumpToStartOfPage および jumpToEndOfPage メソッドです。

boolean jumpToStartOfPage ( void )
boolean jumpToEndOfPage ( void )

行中の移動 Edit

行単位でビューカソルを移動するメソッドです。指定した行だけ下に移動する goDown メソッド,指定した行だけ上に移動する goUp メソッドがあります。

boolean goDown ( integer nCount, boolean bExpand )
boolean goUp ( integer nCount, boolean bExpand )
  • nCount: 移動する行数
  • bExpand: 移動したときに選択状態にするかどうか

現在のカーソル位置が行の始めかどうか調べる isAtStartOfLine メソッドおよび isAtEndOfLine メソッド。

boolean isAtStartOfLine ( void )
boolean isAtEndOfLine ( void )

行の最初に移動できる gotoStartOfLine メソッドおよび,行の最後に移動する gotoEndOfLine メソッドです。

void gotoStartOfLine ( boolean bExpand )
void gotoEndOfLine ( boolean bExpand )
  • bExpand: 移動した際に選択状態にするかどうか

文字数での移動 Edit

ビューカソルを指定した文字数分だけ移動するメソッド,左方向に移動する goLeft ,右方向に移動する goRight メソッドがあります。

boolean goLeft ( integer nCount, boolean bExpand )
boolean goRight ( integer nCount, boolean bExpand )
  • nCount: 移動する文字数
  • bExpand: 移動したときに選択するかどうか

表示の移動 Edit

現在ウィンドウ中に表示中のページを一ページ分だけ上に移動する screenUp メソッド,一ページ分だけ下に移動する screenDown メソッドが利用できます。

boolean screenDown ( void )
boolean screenUp ( void )

範囲への移動 Edit

テキスト範囲へ移動します。テキスト範囲の指定にはテキストカーソルなどが使用できます。

gotoRange( [in] .text.XTextRange xRange, [in] boolean bExpand )

テキストカーソル選択範囲の変更 Edit

テキストカーソルは選択ができるため,選択範囲の最初の位置と最後の位置があります。テキストカーソルで範囲が選択されているかどうかを判断する isCollapsed メソッドでは,選択範囲の最初の位置と最後の位置が同じかどうかを判断します。

boolean isCollapsed( void )

また,選択されている状態を解除するメソッドがあります。選択を解除して最初の位置にカーソル位置を移動する collapseToStart メソッドおよび,選択を解除して最後の位置にカーソルを移動する collapseToEnd メソッドがあります。

void collapseToStart( void )
void collapseToEnd( void )

カーソルのあるページ番号 Edit

カーソルのあるページ番号は Page プロパティから取得できます。ページ数は 1 から始まります。

msgbox oViewCursor.Page

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