Adobe 0046100128056 Scripting Guide - Page 83

Working with text selections, Moving and copying text, scripts for the complete script

Page 83 highlights

CHAPTER 6: Text and Type Understanding Text Objects 83 For a text frame, the parent of the text frame usually is the page or spread containing the text frame. If the text frame is inside a group or was pasted inside another page item, the parent of the text frame is the containing page item. If the text frame was converted to an anchored frame, the parent of the text frame is the character containing the anchored frame. Working with text selections Text-related scripts often act on a text selection. The following script demonstrates a way to determine whether the current selection is a text selection. Unlike many of the other sample scripts, this script does not actually do anything; it simply presents a selection-filtering routine that you can use in your own scripts (for the complete script, see TextSelection). if (app.documents.length != 0){ //If the selection contains more than one item, the selection //is not text selected with the Type tool. if (app.selection.length == 1){ //Evaluate the selection based on its type. switch (app.selection[0].constructor.name){ case "InsertionPoint": case "Character": case "Word": case "TextStyleRange": case "Line": case "Paragraph": case "TextColumn": case "Text": case "Story": //The object is a text object; pass it on to a function. myProcessText(app.selection[0]); break; //In addition to checking for the above text objects, we can //also continue if the selection is a text frame selected with //the Selection tool or the Direct Selection tool. case "TextFrame": //If the selection is a text frame, get a reference to the //text in the text frame. myProcessText(app.selection[0].texts.item(0)); break; default: alert("The selected object is not a text object. Select some text and try again."); break; } } else{ alert("Please select some text and try again."); } } Moving and copying text You can move a text object to another location in text using the move method. To copy the text, use the duplicate method (whose arguments are identical to the move method). The following script fragment shows how it works (for the complete script, see MoveText):

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209

C
HAPTER
6: Text and Type
Understanding Text Objects
83
For a text frame, the
parent
of the text frame usually is the page or spread containing the text frame. If the
text frame is inside a group or was pasted inside another page item, the
parent
of the text frame is the
containing page item. If the text frame was converted to an anchored frame, the
parent
of the text frame
is the character containing the anchored frame.
Working with text selections
Text-related scripts often act on a text selection. The following script demonstrates a way to determine
whether the current selection is a text selection. Unlike many of the other sample scripts, this script does
not actually do anything; it simply presents a selection-filtering routine that you can use in your own
scripts (for the complete script, see TextSelection).
if (app.documents.length != 0){
//If the selection contains more than one item, the selection
//is not text selected with the Type tool.
if (app.selection.length == 1){
//Evaluate the selection based on its type.
switch (app.selection[0].constructor.name){
case "InsertionPoint":
case "Character":
case "Word":
case "TextStyleRange":
case "Line":
case "Paragraph":
case "TextColumn":
case "Text":
case "Story":
//The object is a text object; pass it on to a function.
myProcessText(app.selection[0]);
break;
//In addition to checking for the above text objects, we can
//also continue if the selection is a text frame selected with
//the Selection tool or the Direct Selection tool.
case "TextFrame":
//If the selection is a text frame, get a reference to the
//text in the text frame.
myProcessText(app.selection[0].texts.item(0));
break;
default:
alert("The selected object is not a text object.
Select some text and try again.");
break;
}
}
else{
alert("Please select some text and try again.");
}
}
Moving and copying text
You can move a text object to another location in text using the
move
method. To copy the text, use the
duplicate
method (whose arguments are identical to the
move
method). The following script fragment
shows how it works (for the complete script, see MoveText):