Using the Word Dictionary
19
A text range object refers to a contiguous area in a document. Each text range object is defined by a
starting and ending character position. Similar to the way bookmarks are used in a document, text
range objects are used in procedures to identify specific portions of a document. A text range object
can be as small as the insertion point or as large as the entire document. However, unlike a
bookmark, a text range object exists only while the procedure that defined it is running.
The start of content, end of content, and story type properties uniquely identify a text range object. The
start of content and end of content properties return or set the starting and ending character positions
of the text range object. The character position at the beginning of the document is 0, the position
after the first character is 1, and so on. There are 11 different story types represented by the
constants of the story type property.
Note text range objects are independent of the selection. That is, you can define and modify a text
range without changing the current selection. You can also define multiple text ranges in a
document, while there is only one selection per document pane.
Using the create range command
The create range command is used to create a text range object in the specified document. The
create range command returns a text range object located in the main story given a start and end
point. The following example creates a text range object that is assigned to the variable
MyRange
.
set myRange to create range active document start 0 end 10
MyRange
refers to the first 10 characters in the active document. You can see that the text range
object has been created when you apply a property or command to the text range object stored in
the
MyRange
variable. The following example applies bold formatting to the first 10 characters in the
active document.
set myRange to create range active document start 0 end 10
set bold of myRange to true
When you need to refer to a text range object multiple times, you can set a variable equal to the text
range object. However, if you need to perform only a single action on a text range object, there's no
need to store the object in a variable. The same results can be achieved using just one instruction
that identifies the text range and changes the bold property.
set bold of (create range active document start 0 end 10) to true
Like a bookmark, a text range can span a group of characters or mark a location in a document. The
text range object in the following example has the same starting and ending points. The text range
does not include any text. The following example inserts text at the beginning of the active
document.
set myRange to create range active document start 0 end 0
insert text "Hello " at myRange
You can define the beginning and end points of a text range using the character position numbers as
shown above, or use the start of content and end of content properties of the text range. The following
example creates a text range object beginning at the start of the second paragraph and ending after
the third paragraph.
set myDoc to active document
set myRange to create range myDoc start (start of content of paragraph 2 ¬
of myDoc) end (end of content of paragraph 3 of myDoc)