ビューカーソル
Writer ドキュメントを取り扱う際にはビューカーソル (ViewCursor) をよく使用します。そこで,このページではこのビューカーソルを取り扱います。ビューカーソルはビジブルカーソル (visible cursor) とも呼ばれます。 ビューカーソルとは,テキストを入力する際や選択する際のカーソルと同じものとみなすことができます。そのため,現在のカーソル位置に挿入したりするときに利用できます。 取得
ビューカーソルオブジェクトを取得します。 ビューカーソルオブジェクトは 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 メソッドを使用してビューカーソルオブジェクトを取得します。 プロパティーとメソッド
ビューカーソルを使用して文字列を入力したりフォントを変更したり,プロパティーを取り扱います。また,文字列中の移動にはメソッドを使用します。 ビューカーソルオブジェクトが持つプロパティーとメソッドはこのページ?を参考にしてください。 まずは文字列を入力してみます。これには 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 ビューカーソルの使い方
ビューカーソルはテキスト範囲オブジェクトとしても使用することができます。たとえば,テキストコンテンツを挿入する際に使用する 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 文字列の設定
現在のビューカソルの位置に文字列を設定する setString メソッドがあります。 void setString( string sString ) ビューカソルで文字列が選択状態の場合には置換されます。 ビューカーソルの移動
テキスト中をビューカーソルが移動する方法です。ページ単位,行単位,文字単位などでの移動が可能です。 ページ移動
ビューカーソルをページ単位で移動する方法です。 まず,現在のページ数を取得するには getPage メソッドを使用します。 integer getPage ( void ) ドキュメントの最初のページに移動する jumpToFirstPage メソッド,または最後のページに移動する jumpToLastPage メソッドがあります。戻り値が false の時は移動に失敗したことを示します。そのときには指定した位置にすでにビューカソルが存在していることを示します。 boolean jumpToFirstPage ( void ) boolean jumpToLastPage ( void ) ページ番号を指定して移動するには jumpToPage メソッドを使用します。 boolean jumpToPage ( integer nPageNumber )
現在のページの次のページに移動する jumpToNextPage メソッド,現在のページのひとつ前のページに移動する jumpToPreviousPage メソッドがあります。 boolean jumpToNextPage ( void ) boolean jumpToPreviousPage ( void ) ページ内移動
ビューカーソルが現在いるページ内で移動するメソッドです。現在のページの最初に移動するメソッド jumpToStartOfPage および jumpToEndOfPage メソッドです。 boolean jumpToStartOfPage ( void ) boolean jumpToEndOfPage ( void ) 行中の移動
行単位でビューカソルを移動するメソッドです。指定した行だけ下に移動する goDown メソッド,指定した行だけ上に移動する goUp メソッドがあります。 boolean goDown ( integer nCount, boolean bExpand ) boolean goUp ( integer nCount, boolean bExpand )
現在のカーソル位置が行の始めかどうか調べる isAtStartOfLine メソッドおよび isAtEndOfLine メソッド。 boolean isAtStartOfLine ( void ) boolean isAtEndOfLine ( void ) 行の最初に移動できる gotoStartOfLine メソッドおよび,行の最後に移動する gotoEndOfLine メソッドです。 void gotoStartOfLine ( boolean bExpand ) void gotoEndOfLine ( boolean bExpand )
文字数での移動
ビューカソルを指定した文字数分だけ移動するメソッド,左方向に移動する goLeft ,右方向に移動する goRight メソッドがあります。 boolean goLeft ( integer nCount, boolean bExpand ) boolean goRight ( integer nCount, boolean bExpand )
表示の移動
現在ウィンドウ中に表示中のページを一ページ分だけ上に移動する screenUp メソッド,一ページ分だけ下に移動する screenDown メソッドが利用できます。 boolean screenDown ( void ) boolean screenUp ( void ) 範囲への移動
テキスト範囲へ移動します。テキスト範囲の指定にはテキストカーソルなどが使用できます。 gotoRange( [in] .text.XTextRange xRange, [in] boolean bExpand ) テキストカーソル選択範囲の変更
テキストカーソルは選択ができるため,選択範囲の最初の位置と最後の位置があります。テキストカーソルで範囲が選択されているかどうかを判断する isCollapsed メソッドでは,選択範囲の最初の位置と最後の位置が同じかどうかを判断します。 boolean isCollapsed( void ) また,選択されている状態を解除するメソッドがあります。選択を解除して最初の位置にカーソル位置を移動する collapseToStart メソッドおよび,選択を解除して最後の位置にカーソルを移動する collapseToEnd メソッドがあります。 void collapseToStart( void ) void collapseToEnd( void ) カーソルのあるページ番号
カーソルのあるページ番号は Page プロパティから取得できます。ページ数は 1 から始まります。 msgbox oViewCursor.Page |