ごんれのラボ

iOS、Android、Adobe系ソフトの自動化スクリプトのことを書き連ねています。

InDesignでJavaScript その1

InDesignでJavaScript その1。

シリーズ化していくつもりだったり。

いつまで続くか…。

私がInDesign触る理由ってこれがメインなので(^^;

JavaScriptなんてスクール時代に

Web用のをちょこっと書いたぐらいで

基礎知識からさっぱり理解できてません。

Let!s いきあたりばったり(苦笑)

で、とりあえずQuarkでよく使っている

「ボックスの四辺にガイドラインを引く」というAppleScriptを

InDesign用にJavaScriptで書いてみた。

と、簡単に言ってるけど3時間ぐらいかかってます…。

思い切りいろんな方のサンプルを寄せ集めてます。

でもいいの、一応形になったし。

しかし用語の大文字小文字が間違っていると動かないっていうのは

なんちゃってスクリプターの私にはなかなか手ごわいやつです。

かかった時間のほとんどはそのせいだったり。

いや、早く気づけよ私。

これからこのJavaScriptにGUIでもつけてみるつもり。

一応サンプルをあげておきますが使う人…いる?

私が使うこと前提なので終了宣言や

エラー処理はしてません。

/*

★boxの周りにguide.jsx★

☆ver.1.0☆

boxの周りにguideを引くためのJavaScript。

勉強用に作ったのでサンプルとして使わないほうが…。

なお、このJavaScriptを使用して損害をこうむっても

私は知りませんので、あしからず。

*/

//変数に代入

var docobj = app.activeDocument;

var sel = docobj.selection[0];

//選択しているボックスがテキストフレームか四角形だったら

if (sel.constructor.name == "TextFrame" || sel.constructor.name == "Rectangle") {

//座標値を変数に代入

var y1 = sel.visibleBounds[0];

var x1 = sel.visibleBounds[1];

var y2 = sel.visibleBounds[2];

var x2 = sel.visibleBounds[3];

//ボックスの座標値を基にガイドを引く

with(docobj.pages.item(0)){ //

guides.add(undefined,{orientation:HorizontalOrVertical.horizontal,location:(y1)});

guides.add(undefined,{orientation:HorizontalOrVertical.horizontal,location:(y2)});

guides.add(undefined,{orientation:HorizontalOrVertical.vertical,location:(x1)});

guides.add(undefined,{orientation:HorizontalOrVertical.vertical,location:(x2)});

}

}