Hatena::ブログ(Diary)

なにする?DTP+WEB

2009-10-01

「ExtendScriptをどうやって覚えたらよいのか?」について考えてみる2「ExtendScript Toolkit」編

前回ExtendScriptについて大雑把に書きました。


今回はいきなり実践に入っていきます。

題して「誰も教えてくれないExtendScript Toolkitの使い方。」

ExtendScript Toolkit」略して、esToolkitは、単なるテキストエディタではありません。

開発環境です。

開発環境ですよ。

今まで、テキストエディタしかつかったことのない方には

たぶんみなれないボタンや、言葉が目白押しです。

そして、さっさと閉じて見なかったことにしたくなる。

そんな方に、いったいどんな風に使うのかざっと流れを

チュートリアル風に紹介します。

JavaScript」や「正規表現」のことについては端折ります。

今回はあまり必要ありません。

基本的なことについては、

スクリプトの使い方(種類・保存・利用) - 名もないテクノ手でおさらいをしましょう。(さっそく他力本願

  ・

  ・

  ・

  ・

では、始めます。

ちなみに私の環境はMacOSX、AdobeCS3ですので「ExtendScript Toolkit2」になります。

あらかじめご了承ください。

それでは順を追って説明していきますね。

■■1■■

イラストレーターのドキュメントにまずは、パス2つとテキストフレームを1つ作ります。

そして全部選択しておいてください。

f:id:kamiseto:20091001235429p:image:w200


■■2■■

ExtendScript Toolkit2を立ち上げる。

スクリプトを書くためのウィンドウ

●データーブラウザ

JavaScriptコンソール

が確認できるでしょうか?なかったらいろいろ探ってみてください。

すぐに見つけることができると思います。

f:id:kamiseto:20091001235426p:image:w300

ここにスクリプトを書いていきます。

f:id:kamiseto:20091001235428p:image:w300

エラー等の文字が出力されます。自分で任意の文字を出力させることもできます。

f:id:kamiseto:20091001235427p:image:w300

スクリプトの構造を確認することができます。


■■3■■

スクリプトを書きましょう。

といってもコピペするだけです。

function TEST(OBJ){
	$.bp();
}
TEST(app.activeDocument.selection);

赤い印の所を「Illustrator」にしておいてください。

f:id:kamiseto:20091001235426p:image


■■4■■

準備は整いました実行しましょう。

「三角」のボタンを押せば実行されます。


■■5■■

「$.br()」と書いてある場世で黄色い帯が出て止まったでしょうか?

おめでとうございます。ブレークポイントの成功です。

f:id:kamiseto:20091001235421p:image:w400


■■6■■

上の状態のままで、データーブラウザをみてみてください。

f:id:kamiseto:20091001235425p:image

「OBJ」のところに「パス(PathItem)」「テキストフレーム(TextFrame)」が確認できます。


■■7■■

「■」ボタンをおしてスクリプトを止めます。


■■8■■

スクリプトを書き換えます。といっても。

最後の行のselectionに「[0]」がつくだけです。

function BR(OBJ){
	$.bp();
}
BR(app.activeDocument.selection[0]);

■■9■■

もう一度スクリプトを実行。

ブレークポイント【$.bp()】で止まります。


■■10■■

データーブラウザをみてみてください。

f:id:kamiseto:20091001235424p:image

今度は、「PathItem(or TextFrame)」だけになりました。



■■11■■

今度は、さらに「OBJ」をクリックしてその中身も見てみます。

f:id:kamiseto:20091001235423p:image

ずらっと出ますが、あわてないでください。

この中から「filled」を探してください。「true(真)」になっています。

これは、「塗りになにかしら色がついている」ということです。


■■12■■

さらにさらに、「filled」をクリックして、「true」を「false」に書き換えてみます。

f:id:kamiseto:20091001235422p:image


■■13■■

今度は、「三角」のボタンをおしてスクリプトを進めます。

無事、スクリプトは終了したでしょうか?


■■14■■

イラストレーターに戻ります。

app.activeDocument.selection[0]は星型のパスだったようです。

塗りがなくなっております。

f:id:kamiseto:20091001235418p:image:w200



■■15■■

データーブラウザでやった操作を

スクリプトで書くとこうなります。

function BR(OBJ){
    $.bp();
	OBJ.filled= false;
	$.bp();
}
BR(app.activeDocument.selection[0]);

■■■

おつかさまでした。今回は終わりです。

説明どおり動いたでしょうか?

いろいろ疑問点もあると思いますが、それは今度にします。

ExtendScript Toolkit」の簡単な使い方がわかってもらえたと思います。

ポイントは、

$.bp()で、止める。

止めることによって、止めた時点のオブジェクトの状態を見ることができるので、オブジェクトの数値がどうなっているか確認することで、

より理解が早まると思います。



さて、期待にこたえれるかどうか…

続く。

(z-)(z-) 2009/10/02 12:44 $bp() とデータブラウザ上での書き換え、まったく存じ上げませんでした。助かります。
ところで、行数を表す列に赤丸を付ける事よりも優位な点はありますか?

手前味噌ですが、新規スクリプトでは問題なかったのですが、InDesignCS3のスクリプトフォルダ内の自分用の「test.jsx」の内容を消し、記事内の構文をペーストしてToolkitから実行したところ、関数外の行(4行目)でブレークがかかりました。

kamisetokamiseto 2009/10/03 07:02 >行数を表す列に赤丸を付ける事よりも優位な点はありますか?
$.bp()ばかり使っていて、存在を忘れていました。orz
赤丸の説明も必要ですね。
優位性は…
赤丸は行単位だけど、$.bp()なら文中のどこにでも書ける。
$.bp()なら保存しておけるといったことろでしょうか。

続けるんで、次回に赤丸のことも追記しときます。

milligrammemilligramme 2009/10/03 07:17 こんにちは
$.bp()+データブラウザ書換えは便利ですね。自分も知りませんでした。

ESTKの赤丸は一度クリックで小豆色丸?にしておけば、一時無効にして保存しておけますよ。

kamisetokamiseto 2009/10/04 10:34 >ESTKの赤丸は一度クリックで小豆色丸?にしておけば、一時無効にして保存しておけますよ。
私の環境では、保存後、一度閉じて、また開くとなくなってしまいました。
なんでだろうか…?

milligrammemilligramme 2009/10/04 21:55 >保存後、一度閉じて、また開くとなくなって
ほんとだ、失礼しました。

(z-)(z-) 2009/10/07 02:31 あ、スクリプト末尾の最終処理の後でブレークできるというメリットがありました。
赤丸だとわざわざ書き足したダミーの行に点けてたりしてました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

BridgeTalkでPhotoshopを制御するサンプル
//BridgeTalkでPhotoshopを制御するサンプル   var psTarget = "photoshop"; var psFlag
GREP検索結果または選択した1文字の文字コードを増減するやつ
//id_charCodeShifter.jsx 2017.05.8 by (z-) //GREP検索結果または選択した1文字の文字コードを増減するやつ ////GREP検索文字列欄が空欄なら選択した
ver_h ささやかに正規表現で検索置換するやつ
// ai_simpleRegExp.jsx by(z-)ver_h 2015.12.04 - 2017.04.18 //Illustratorで動作する正規表現検索置換。 //選択可能なテキストオブ
配置済みPDFのクロップ(トリミング方式)を調べたり変えて再配置した ...
//id_PDF_CropViewer.jsx by(z-) ver_e #target indesign #targetengine "PDFCROP" &
配置PDF(ai)を選択して実行、プロンプトに入力したページで再配置、い?? ...
//配置PDF(ai)の参照ページを変更(再配置)するやつ 2017.03.07(z-) //レイヤー表示オプションなどは非対応の簡易版   var crop, cropIndexA
この日記のはてなブックマーク数