文書ドキュメント: テキスト以外のオブジェクト

From Apache OpenOffice Wiki
< EN/Documentation/BASIC Guide
Revision as of 06:21, 27 November 2008 by G11nAutomation (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Template:EN/Documentation/BASICGuideTOC/v2

\'96\'7b章のここまでの説明は、テキストの段落および段落部位のみを扱ってきました。しかし文書ドキュメントには、テキスト以外のオブジェクトも存在します。これに該当するのは、テーブル、テキストフィールド、ディレクトリ、\'90\'7d形描画オブジェクトなどです。このようなオブジェクトは、テキスト内の任意の位置に配置することができます。

基本機能と共に、これらの Apache OpenOffice オブジェクトはすべて、com.sun.star.text.TextContent という共通基本サービスをサポートしています。このサービスでは、以下の属性が利用できます。

AnchorType (Enum)
TextContent オブジェクトのアンカーの種類を決定します (com.sun.star.text.TextContentAnchorType 列挙型に従うデフォルト値)。
AnchorTypes (sequence of Enum)
特殊な TextContent オブジェクトをサポートするすべての AnchorTypes の列挙。
TextWrap (Enum)
TextContent オブジェクト周囲のテキストの折り返しの種類を特定します (com.sun.star.text.WrapTextMode 列挙型に従ったデフォルト値)。

TextContent のオブジェクトは、オブジェクトの作成、挿入、削除に関するものなど、いくつかのメソッドを共有しています。

  • 新しい TextContent オブジェクトを作成するには、ドキュメントオブジェクトの createInstance メソッドを使用します。
  • オブジェクトを\'91\'7d入するには、テキストオブジェクトのinsertTextContent メ\'83\'5cッドを使用します。
  • TextContent オブジェクトを削除するには、removeTextContent メソッドを使用します。

これらのメソッドの使用法については、以下の節で例をいくつか説明します。

テーブル

以下のサンプルコードでは、先に説明した createInstance メソッドを利用してテーブル (表) を作成します。

Dim Doc As Object
Dim Table As Object
Dim Cursor As Object
 
Doc = StarDesktop.CurrentComponent
Cursor = Doc.Text.createTextCursor()
 
Table = Doc.createInstance("com.sun.star.text.TextTable")
Table.initialize(5, 4)
 
Doc.Text.insertTextContent(Cursor, Table, False)

Python のサンプル:

def inset_img(): 
   # abstract the objects in varialbes, doc, text and img, note we used the XSCRIPTCONTEXT
   doc = XSCRIPTCONTEXT.getDocument() 
   text = doc.getText() 
   cursor = text.createTextCursor()  # not sure
   Table = doc.createInstance(u'com.sun.star.text.TextTable') 
 
   # Verify code
   Table.initialize(5, 4)
 
   #inser the image in the text area location    
   text.insertTextContent(text.getEnd(), Table, False)

テーブルを作成した後、initialize の呼び出しを使用してテーブルの行数と列数を設定し、insertTextContent. を使用して文書ドキュメントに挿入します。


前の例を見るとわかるように、insertTextContent メソッドには、挿入する Content オブジェクト以外に、2 つのパラメータを渡す必要があります。

  • 挿入位置を指定する Cursor オブジェクト。
  • Content オブジェクトをカーソルの現在の選択範囲と置き換えるか (True) または現在の選択テキストの直前に挿入するか (False) を指定するブール値。

Template:Documentation/Note

文書ドキュメントに挿入されたすべてのテーブルの取得は、簡単なループで処理できます。この処理には、文書ドキュメントオブジェクトの getTextTables() メソッドを使用します。

Dim Doc As Object
Dim TextTables As Object
Dim Table As Object
Dim I As Integer
Doc = StarDesktop.CurrentComponent
TextTables = Doc.getTextTables()
For I = 0 to TextTables.count - 1
 
   Table = TextTables(I)
   ' Editing table
 
Next I

Template:Documentation/Note

テーブルの編集

テーブルは、個別の行で構成されています。そして各行は、いくつかのセルに分割されています。厳密に言うと、Apache OpenOffice にはテーブルの列は存在しません。 ここでのテーブル列は、複数の行を上下方向に並べた結果として形成された、いわば見かけ上の存在です。ただし、Apache OpenOffice には、テーブルに簡単にアクセスできるよう、列を操作するメソッドがいくつか用意されています。 これらのメ\'83\'5cッドは、セルを結合していないテーブルを扱う場合に有用です。

ここではまず、テーブル自体のプロパティーについて説明します。これらは、com.sun.star.text.TextTable サービスで定義されています。 以下に、重要度の高いテーブルオブジェクトの属性を示します。

BackColor (Long)
テーブルの背景色。
BottomMargin (Long)
100 分の 1 ミリ単位で指定した下部マージン。
LeftMargin (Long)
100 分の 1 ミリ単位で指定した左マージン。
RightMargin (Long)
100 分の 1 ミリ単位で指定した右マージン。
TopMargin (Long)
100 分の 1 ミリ単位で指定した上部マージン。
RepeatHeadline (Boolean)
テーブルヘッダをすべてのページに表示します。
Width (Long)
100 分の 1 ミリ単位で指定したテーブルの絶対幅。

テーブル行

テーブルは、行を含むリストで構成されます。以下のサンプルコードでは、テーブル内の行を取得して書式を設定します。

Dim Doc As Object
Dim Table As Object
Dim Cursor As Object
Dim Rows As Object
Dim Row As Object
Dim I As Integer
 
Doc = StarDesktop.CurrentComponent
Cursor = Doc.Text.createTextCursor()
 
Table = Doc.createInstance("com.sun.star.text.TextTable")
Table.initialize(5, 4)
 
Doc.Text.insertTextContent(Cursor, Table, False)
Rows = Table.getRows
For I = 0 To Rows.getCount() - 1
   Row = Rows.getByIndex(I)
   Row.BackColor = &HFF00FF
Next

この例では、最初に Table.getRows を使用して、すべての行を含むリストを作成しています。 リストをさらに処理するには、com.sun.star.table.XtableRows インターフェースに属する getCount および getByIndex メソッドを使用します。 getByIndex メソッドは、com.sun.star.text.TextTableRow サービスをサポートする行オブジェクトを返します。

com.sun.star.table.XtableRows インターフェースの主要なメソッドを次に示します。

getByIndex(Integer)
指定したインデックスの行オブジェクトを返します。
getCount()
行オブジェクトの数を返します。
insertByIndex(Index, Count)
テーブルの Index の位置に Count 行を挿入します。
removeByIndex(Index, Count)
テーブルの Index の位置から Count 行を削除します。

getByIndex および getCount メソッドはすべてのテーブルで使用できますが、insertByIndex および removeByIndex メソッドを使用できるのは、セルを結合していないテーブルだけです。

com.sun.star.text.TextTableRow サービスは以下のプロパティーを提供します。

BackColor (Long)
行の背景色。
Height (Long)
100 分の 1 ミリ単位で指定した行の高さ。
IsAutoHeight (Boolean)
テーブルの高さを内容に合わせて動的に調節する。
VertOrient (const)
テキスト枠の縦の方向 — テーブル内でのテキストの縦方向の詳細 (com.sun.star.text.VertOrientation で定義されている値)。

列には行と同じ方法でアクセスし、Column オブジェクトの getByIndexgetCountinsertByIndex、および removeByIndex メソッドを使用します。このオブジェクトは、getColumns を使用して取得します。ただしこれらのメ\'83\'5cッドが利用できるのは、セルを結合していないテーブルだけです。また、Apache OpenOffice Basic では、列単位でセルの書式を設定することはできません。このような処理を行うには、テーブルのセルを個別に書式設定する必要があります。

セル

Apache OpenOffice ドキュメントの各セルには、固有の名前が付いています。 Apache OpenOffice のカーソルがセル内にある場合、そのセルの名前がステータスバーに表示されます。 通常、左上隅のセルは A1 と表示され、右下隅のセルは Xn と表示されます。X は列を示す文字で、n は行を示す番号です。 セルオブジェクトにアクセスするには、テーブルオブジェクトの getCellByName() メソッドを使用します。 以下のサンプルコードでは、ループを使用してテーブル内のすべてルにアクセスし、個々のセルごとに該当する行と列の番号を\'95\'5c示します。

Dim Doc As Object
Dim Table As Object
Dim Cursor As Object
Dim Rows As Object
Dim RowIndex As Integer
Dim Cols As Object
Dim ColIndex As Integer
Dim CellName As String
Dim Cell As Object
 
Doc = StarDesktop.CurrentComponent
Cursor = Doc.Text.createTextCursor()
 
Table = Doc.createInstance("com.sun.star.text.TextTable")
Table.initialize(5, 4)
 
Doc.Text.insertTextContent(Cursor, Table, False)
 
Rows = Table.getRows
Cols = Table.getColumns
 
For RowIndex = 1 To Rows.getCount()
   For ColIndex = 1 To Cols.getCount()
      CellName = Chr(64 + ColIndex) & RowIndex
      Cell = Table.getCellByName(CellName)
      Cell.String = "row: " & CStr(RowIndex) + ", column: " & CStr(ColIndex)
   Next
Next

テーブルのセルは、通常のテキストに相当します。関連する TextCursor オブジェクトの作成用に、createTextCursor インターフェースがサポートされています。

CellCursor = Cell.createTextCursor()

したがって、個々の文字および段落に対して設定可能なすべての書式オプションが、自動的に使用できるようになります。

以下のサンプルコードでは、文書ドキュメント上のすべてのテーブルを調べて、数値の入ったセルのみを右揃えにしますが、セルの書式設定の際に段落プロパティーを利用しています。

Dim Doc As Object
Dim TextTables As Object
Dim Table As Object
Dim CellNames
Dim Cell As Object
Dim CellCursor As Object
Dim I As Integer
Dim J As Integer
 
Doc = StarDesktop.CurrentComponent
TextTables = Doc.getTextTables()
 
For I = 0 to TextTables.count - 1
   Table = TextTables(I)
   CellNames = Table.getCellNames()
 
   For J = 0 to UBound(CellNames)
      Cell = Table.getCellByName(CellNames(J))
      If IsNumeric(Cell.String) Then
         CellCursor = Cell.createTextCursor()
         CellCursor.paraAdjust = com.sun.star.style.ParagraphAdjust.RIGHT
      End If
   Next
Next

この例では、ループで処理したすべてのテキストのテーブルを含む TextTables リストを作成しています。 続いて、Apache OpenOffice はこれらの各テーブルに関連付けられているセル名のリストを作成します。 次にこのリストを基にして、第 2 のループを開始します。このループでは、セル内のデータが数値であるかを判定し、その結果に応じて書式を設定します。そのために、まずテーブルセルの内容を参照する TextCursor オブジェクトを作成してから、テーブルセルの段落プロパティーを適用しています。

テキスト枠

テキスト枠も、テーブルやグラフと同様に TextContent オブジェクトとして扱われます。 テキスト枠は\'96\'7b質的に通常のテキストと同質のものですが、ページ上の任意の位置に配置できることと、ドキュメント\'96\'7b文のテキストの流れから外れた存在である点が異なります。

これまでに見てきた TextContent オブジェクトと同様に、テキスト枠の場合も、オブジェクトの作成とドキュメント上への挿入は、それぞれ個別の操作として実行します。.

Dim Doc As Object
Dim TextTables As Object
Dim Cursor As Object
Dim Frame As Object
 
Doc = StarDesktop.CurrentComponent
Cursor = Doc.Text.createTextCursor()
Frame = Doc.createInstance("com.sun.star.text.TextFrame")
Doc.Text.insertTextContent(Cursor, Frame, False)

テキスト枠の作成には、ドキュメントオブジェクトの createInstance メソッドを使用します。 作成後のテキスト枠は、Text オブジェクトの insertTextContent メソッドを使用して、ドキュメントへ挿入します。 その際には、com.sun.star.text.TextFrame というサービス名を指定する必要があります。

テキスト枠の挿入位置は Cursor オブジェクトにより指定されるため、挿入時はこのオブジェクトも準備しておく必要があります。

Template:Documentation/Note

テキスト枠オブジェクトには、テキスト枠の表示位置や動作を制御するために、各種の属性が用意されています。これらプロパティーの大部分は com.sun.star.text.BaseFrameProperties サービスで定義されているもので、これは各 TextFrame サービスでもサポートされています。 以下に主要なプロパティーを示します。

BackColor (Long)
テキスト枠の背景色。
BottomMargin (Long)
100 分の 1 ミリ単位で指定した下部マージン。
LeftMargin (Long)
100 分の 1 ミリ単位で指定した左マージン。
RightMargin (Long)
100 分の 1 ミリ単位で指定した右マージン。
TopMargin (Long)
100 分の 1 ミリ単位で指定した上部マージン。
Height (Long)
100 分の 1 ミリ単位で指定したテキスト枠の高さ。
Width (Long)
100 分の 1 ミリ単位で指定したテキスト枠の幅。
HoriOrient (const)
テキスト枠の横方向 (com.sun.star.text.HoriOrientation で定義されている値)。
VertOrient (const)
テキスト枠の縦方向 (com.sun.star.text.VertOrientation で定義されている値)。

以下のサンプルコードでは、これらのプロパティーを使用してテキスト枠を作成します。

Dim Doc As Object
Dim TextTables As Object
Dim Cursor As Object
Dim Frame As Object
 
Doc = StarDesktop.CurrentComponent
Cursor = Doc.Text.createTextCursor()
Cursor.gotoNextWord(False)
Frame = Doc.createInstance("com.sun.star.text.TextFrame")
 
Frame.Width = 3000
Frame.Height = 1000
Frame.AnchorType = com.sun.star.text.TextContentAnchorType.AS_CHARACTER
Frame.TopMargin = 0
Frame.BottomMargin = 0
Frame.LeftMargin = 0
Frame.RightMargin = 0
Frame.BorderDistance = 0
Frame.HoriOrient = com.sun.star.text.HoriOrientation.NONE
Frame.VertOrient = com.sun.star.text.VertOrientation.LINE_TOP
 
Doc.Text.insertTextContent(Cursor, Frame, False)

このサンプルコードでは、テキスト枠の挿入位置を指定するために TextCursor を作成しています。 実際の\'91\'7d入位置は、1 つ目と 2 つ目の単語の間です。そして、Doc.createInstance を使用してテキスト枠を作成します。 その後、テキスト枠の各属性に必要な値を指定しています。

AnchorType (TextContent サービス) プロパティーと VertOrient (BaseFrameProperties サービス) プロパティーとの関係には注意が必要です。 AnchorTypeAS_CHARACTER 値を受け取ります。 これは、テキスト枠をテキストフロー中に直接\'91\'7d入して、通常の文字として動作するよう指定するものです。このような指定により、たとえばテキストフローが途中で改行される場合、このテキスト枠も次の行に送られるようになります。一方の VertOrient プロパティーに指定した LINE_TOP という値は、テキスト枠とテキストの上端を同じ高さにするための設定です。

初期値の設定終了後、insertTextContent を使用してテキスト枠を文章ドキュメントに挿入します。

テキスト枠の内容を編集するには、TextCursor を使用する必要がありますが、その使用法はすでに説明したように、テキスト枠の場合も特に違いはありません。

Dim Doc As Object
Dim TextTables As Object
Dim Cursor As Object
Dim Frame As Object
Dim FrameCursor As Object
 
Doc = StarDesktop.CurrentComponent
Cursor = Doc.Text.createTextCursor()
Frame = Doc.createInstance("com.sun.star.text.TextFrame")
 
Frame.Width = 3000
Frame.Height = 1000
 
Doc.Text.insertTextContent(Cursor, Frame, False)
 
FrameCursor = Frame.createTextCursor()
FrameCursor.charWeight = com.sun.star.awt.FontWeight.BOLD
FrameCursor.paraAdjust = com.sun.star.style.ParagraphAdjust.CENTER
FrameCursor.String = "This is a small Test!"

上記のサンプルコードでは、テキスト枠を作成して現在のドキュメントに挿入し、このテキスト枠内部に TextCursor を移動しています。 次にこのカー\'83\'5cルを使用して、テキスト枠内の\'95\'5c示フォントの太字への設定および、段落配置の中央揃への設定を行なっています。そして最後に「This is a small test!」という文字列を、テキスト枠内に表示させています。

テキストフィールド

テキストフィールドは、通常のテキストを拡張する追加ロジックを提供するので、TextContent オブジェクトです。 テキストフィールドの文書ドキュメントへの挿入では、他の TextContent オブジェクトの場合と同様のメソッドを使用します。

Dim Doc As Object
Dim DateTimeField As Object
Dim Cursor As Object
Doc = StarDesktop.CurrentComponent
Cursor = Doc.Text.createTextCursor()
 
DateTimeField = Doc.createInstance("com.sun.star.text.TextField.DateTime")
DateTimeField.IsFixed = False
DateTimeField.IsDate = True
Doc.Text.insertTextContent(Cursor, DateTimeField, False)

このサンプルコードでは、現在の日付を表示するテキストフィールドを、文書ドキュメントの先頭に挿入しています。IsDate プロパティーへの True の指定は、日付のみを表示し、時刻は表示しないことを意味します。 また、IsFixed への False の指定は、ドキュメントを開く際に日付を自動更新することを意味します。

Template:Documentation/Note

Apache OpenOffice の従来バージョンでは、テキストフィールドを操作するのに、Selection オブジェクトで使用できた各種のメソッドを利用する必要がありました (たとえば InsertFieldDeleteUserFieldSetCurField)

Apache OpenOffice 2.x では、テキストフィールドの処理もオブジェクト指向の概念に基づくよう改められました。 つまりテキストフィールドを\'8d\'5c築するに当たっては、最初に該当するタイプのテキストフィールドを作成してから、必要な属性値を指定して初期化する必要があります。このような処理を経た後、insertTextContent メソッドを使用してテキストフィールドをドキュメントに挿入します。 このような処理の流れは、先に紹介したサンプルコードに示した通りです。主要なフィールドの種類およびそれらの属性については、以下の節で説明しています。

テキストフィールド関係の操作では、ドキュメントへの挿入以外にも、ドキュメント上のフィールドを検索するという処理も行えます。以下のサンプルコードでは、ループを使って文書ドキュメント上のすべてのテキストフィールドにアクセスし、フィールドの種類を確認します。

Dim Doc As Object
Dim TextFieldEnum As Object
Dim TextField As Object
Dim I As Integer
 
Doc = StarDesktop.CurrentComponent
 
TextFieldEnum = Doc.getTextFields.createEnumeration
 
While TextFieldEnum.hasMoreElements()
 
   TextField = TextFieldEnum.nextElement()
 
   If TextField.supportsService("com.sun.star.text.TextField.DateTime") Then
      MsgBox "Date/time"
   ElseIf TextField.supportsService("com.sun.star.text.TextField.Annotation") Then
      MsgBox "Annotation"
   Else
      MsgBox "unknown"
   End If
 
Wend

テキストフィールドの存在を設定する起点となるのは、ドキュメントオブジェクトの TextFields リストです。 このサンプルコードでは、Enumeration オブジェクトを作成することでこのようなリストを取得し、すべてのテキストフィールドにアクセスするループに入ります。 検出されたテキストフィールドに対しては、supportsService メソッドを用いて、そのサポートするサービスを確認します。 フィールドの種類が日付/時刻 (date/time) ないしコメント (annotation) の場合は、該当するフィールドの種類をメッセージ\'83\'7bックスに\'95\'5c示します。その他の種類のフィールドに対しては、「unknown」と表示します。

以下に、重要なテキストフィールドとそのプロパティーを示します。すべてのテキストフィールドに関するリストについては、『API reference』の com.sun.star.text.TextField モジュールを参照してください (Apache OpenOffice Basic では、先に見たサンプルコードの表記と同様に、テキストフィールドのサービス名の大文字と小文字を区別する必要があります)。

ページ数、語数、文字数

テキストフィールドについては、以下のサービスが利用できます。

それぞれページ数、語数、文字数を返します。これらは以下のプロパティーをサポートしています。

NumberingType (const)
番号付け形式 (com.sun.star.style.NumberingType の定数に従ったガイドライン)。

現在のページ

現在のページ番号を表示するフィールドをドキュメントに挿入するには、テキストフィールドに com.sun.star.text.TextField.PageNumber を指定します。 この場合は、以下のプロパティーが利用できます。

NumberingType (const)
番号形式 (com.sun.star.style.NumberingType の定数に従ったガイドライン)。
Offset (short)
ページ番号に追加するオフセット値 (負の値も指定可能)。

以下のサンプルコードでは、ページ番号表示用のフッタをドキュメントに挿入します。

Dim Doc As Object
Dim DateTimeField As Object
Dim PageStyles As Object
Dim StdPage As Object
Dim FooterCursor As Object
Dim PageNumber As Object
 
Doc = StarDesktop.CurrentComponent
 
PageNumber = Doc.createInstance("com.sun.star.text.TextField.PageNumber")
PageNumber.NumberingType = com.sun.star.style.NumberingType.ARABIC
 
PageStyles = Doc.StyleFamilies.getByName("PageStyles")
 
StdPage = PageStyles("Default")
StdPage.FooterIsOn = True
 
FooterCursor = StdPage.FooterTextLeft.Text.createTextCursor()
StdPage.FooterTextLeft.Text.insertTextContent(FooterCursor, PageNumber, False)

このサンプルコードでは、まず com.sun.star.text.TextField.PageNumber サービスをサポートするテキストフィールドを作成しています。 Apache OpenOffice ではヘッダおよびフッタ行をページテンプレートに定義しているため、PageStyles のリストから選択することによりオブジェクトを作成しています。

フッタ行を表示するには、FooterIsOn プロパティーに True を設定します。 テキストフィールドをドキュメントに\'91\'7d入する際には、左揃え\'95\'5c示を指定したテキストオブジェクトを使用しています。

コメント

コメント (注釈) フィールド (com.sun.star.text.TextField.Annotation) は、文章ドキュメント上で黄色のシンボルとして表示されます。 このシン\'83\'7bルをクリックすると、テキストフィールドが開き、\'91\'7d入箇所の文章に関するコメントを入力できるようになります。コメントフィールドでは、以下の属性が利用できます。

Author (String)
作成者の名前。
Content (String)
コメントテキスト。
Date (Date)
コメントが入力された日付。

日付と時刻

日付/時刻フィールド (com.sun.star.text.TextField.DateTime) は、現在の日付および時刻の表示に使用します。 この場合は、以下のプロパティーが利用できます。

IsFixed (Boolean)
True を指定すると、表示時間を更新させず、False を指定するとドキュメントを開く際に自動更新する。
IsDate (Boolean)
True を指定するとフィールドに現在の日付を表示させ、それ以外の場合は現在の時刻を表示する。
DateTimeValue (struct)
フィールドの現在の内容 (com.sun.star.util.DateTime 構造体)。
NumberFormat (const)
日付および時刻の表示書式。

章名および章番号

テキストフィールドに章名を表示するには、com.sun.star.text.TextField.Chapter 型を使用します。\'95\'5c示形式は、以下の 2 つの属性で指定します。

ChapterFormat (const)
章名と章番号のどちらを表示するかを指定する (com.sun.star.text.ChapterFormat に定められた値)。
Level (Integer)
章名ないし章番号として表示させる章レベルを指定する。 指定値は 0 が最高レベルに該当します。

ブックマーク

ブックマーク (com.sun.star.text.Bookmark サービス) は TextContent オブジェクトです。 このためテキスト\'83\'7dークの作成と\'91\'7d入も、すでに説明したものと同様の手順で行えます。

Dim Doc As Object
Dim Bookmark As Object
Dim Cursor As Object
 
Doc = StarDesktop.CurrentComponent
 
Cursor = Doc.Text.createTextCursor()
 
Bookmark = Doc.createInstance("com.sun.star.text.Bookmark")
Bookmark.Name = "My bookmarks"
Doc.Text.insertTextContent(Cursor, Bookmark, True)

このサンプルコードでは、ブックマークの挿入位置の指定用に Cursor というオブジェクトを作成してから、実際のブックマークオブジェクト (Bookmark) を作成しています。 このブックマークは、名前を付けてから、insertTextContent を用いてカーソル位置に挿入します。

ブックマークへのアクセスには、Bookmarks と呼ばれるリストを使用します。 また個々のテキスト\'83\'7dークは、番号または名前により特定できます。

以下のサンプルコードでは、文書ドキュメント上で特定のブックマークを選択して、該当位置へテキストを挿入します。

Dim Doc As Object
Dim Bookmark As Object
Dim Cursor As Object
 
Doc = StarDesktop.CurrentComponent
 
Bookmark = Doc.Bookmarks.getByName("My bookmarks")
 
Cursor = Doc.Text.createTextCursorByRange(Bookmark.Anchor)
Cursor.String = "Here is the bookmark"

ここでは getByName メソッドを用いて、ブックマークをその名前で特定しています。 そして createTextCursorByRange を用いて Cursor というオブジェクトを作成して、このブックマークのアンカー位置を取得します。 最後にこのカー\'83\'5cルの示す位置に、文字列を\'91\'7d入しています。

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools