-
Notifications
You must be signed in to change notification settings - Fork 0
/
JumpToNextParaStyle.jsx
43 lines (38 loc) · 1.16 KB
/
JumpToNextParaStyle.jsx
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
/**
* fileoverview 選択しているテキストに適用されている段落スタイルを検索し、同じ段落スタイルが適用された次のテキストにジャンプする
* @author SAEGUSA Yusuke
* @version 0.0.1
*/
if (app.documents.length === 0 || app.selection.length === 0) {
myError("001");
}
var doc = app.activeDocument;
var sel = doc.selection[0];
if (!sel.hasOwnProperty("appliedParagraphStyle")) {
myError("001");
}
var curStory = sel.parentStory;
var curIndex = sel.index;
app.findGrepPreferences = app.changeGrepPreferences = null;
app.findGrepPreferences.appliedParagraphStyle = sel.appliedParagraphStyle;
var found = curStory.findGrep();
var result = false;
for (var i=0, len=found.length; i<len; i++) {
if (found[i].index > curIndex) {
found[i].select();
found[i].showText();
result = true;
break;
}
}
if (!result) {
myError("002");
}
function myError(erNum) {
var errorMessage = {
"001": "テキストを選択してから実行してください",
"002": "同じスタイルがキャレット以降で見つかりません",
};
alert(errorMessage[erNum]);
exit();
}