DTPオペレーターのInDesign、Javascript関連セーブデータ。ただいま過去記事の整理中のため、記事が突然消えたり現れたり、記事の内容が微妙に変わったりします。最近は主にTwitter(@subi_omu)で活動。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
テキスト選択範囲の後/前の1文字を選択
追記:
まとめいみブログのあるふぁさんから1行スクリプトを教えていただきました。
//前の1文字を選択
with(app.selection[0])parent.characters[index-1].select();

//後の1文字を選択
with(app.selection[0])parent.characters[index+characters.length].select();

あるふぁさん、ありがとうございます!大変勉強になりました。
この記事はしばらくしたら消します~




自分用メモです。
ひとに聞かれてその場で書いたままのスクリプト。もっとスマートな方法があると思うので、わかる方はコメントで教えてください。
InDesignは英語のようにスペースで単語を区切る言語の人たちが作ってるし、スクリプトでこういう事をする想定はしてないんだろうなー。

テキスト選択範囲の後の1文字を選択
var myTxt = app.activeDocument.selection[0]; 
var firstPoint = myTxt.paragraphs[0].characters[0];
var startPoint = myTxt.insertionPoints[-1];
var num= myTxt.paragraphs[0].characters.itemByRange(firstPoint,startPoint).characters.length;
myTxt.paragraphs[0].characters[num].select();

テキスト選択範囲の前の1文字を選択
var myTxt = app.activeDocument.selection[0]; 
var firstPoint = myTxt.paragraphs[0].characters[0];
var startPoint = myTxt.insertionPoints[0];
var num= myTxt.paragraphs[0].characters.itemByRange(firstPoint,startPoint).characters.length;
myTxt.paragraphs[0].characters[num-1].select();

スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。