InDesign CS2までは、PDFによるJavaScriptリファレンスが付属していましたが、InDesign CS3からは付属しなくなってしまいました。
こうなると、InDesign CS3/CS4でスクリプト(VBScript, JavaScript, Apple Script)制御しようと考えている人は困ってしまいます。
AppleScriptの場合は用語説明が用意されており、スクリプトエディタで開けばリファレンスが表示されます。このリファレンスを参照するのもひとつの方法です。また、CS2ベースのPDFに関しては、以下のURLからダウンロードすることができます。
こうなると、InDesign CS3/CS4でスクリプト(VBScript, JavaScript, Apple Script)制御しようと考えている人は困ってしまいます。
AppleScriptの場合は用語説明が用意されており、スクリプトエディタで開けばリファレンスが表示されます。このリファレンスを参照するのもひとつの方法です。また、CS2ベースのPDFに関しては、以下のURLからダウンロードすることができます。
< http://www.adobe.com/products/indesign/pdfs/InDesign_Scripting_Reference.pdf
>
リファレンスに掲載されていないメソッドや、プロパティを調べたいこともあります。JavaScriptの場合、一部の機能に関しては以下のスクリプトで機能やプロパティを知ることができます。
CR = String.fromCharCode(13);
result = "";
docObj = app.activeDocument;
obj = app;
for (i in obj)
{
try {
result = result + "[" + typeof(obj[i])+"] " + i + " = "+new String(obj[i]).substr(0,360)+CR;
}catch(e){}
}
txtObj = docObj.pages[0].textFrames.add();
txtObj.visibleBounds = ["0cm","0cm","29cm","18cm"];
txtObj.contentType = ContentType.textType;
txtObj.contents = result;
このスクリプトは、InDesignで新規に書類を作成した後に実行してください。
指定したオブジェクトの内容がリスト表示されます。実行すると、以下のような感じのテキストがテキストフレーム内に表示されます。
[object] indexGenerationOptions = [object IndexOptions]
[object] allPageItems =
[object] allGraphics =
[object] buttonPreferences = [object ButtonPreference]
[undefined] fullName = undefined
[string] name = 名称未設定-9
[boolean] visible = true
[undefined] filePath = undefined
[boolean] modified = true
[boolean] saved = false
[object] zeroPoint = 0,0
[string] label =
[〜]で囲まれている部分が、対象となるものの種類を示しています。objectであれば、さらに内部にメソッドやプロパティがあるということになります。
stringであれば、プロパティだと思ってよいでしょう。
見たいオブジェクトを指定するには
obj = app;
の行を変更します。例えば一番手前に表示されているドキュメントの場合は、以下のようになります。
obj = app.activeDocument;
1ページ目のページオブジェクトであれば以下のようになります。
obj = app.activeDocument.pages[0];
ただ、この方法でも全てのメソッドを表示できるわけではありません。あと、CS3で追加された機能に関しては、以下にあるJavaScript Tools Guideを参照するとよいでしょう。
< http://www.adobe.com/devnet/bridge/pdfs/javascript_tools_guide_cs3.pdf
>
CS4に関しては以下のURLにあります。
< http://www.adobe.com/devnet/scripting/pdfs/javascript_tools_guide_cs4.pdf
>
このようなfor..inを使った内部情報のチェックはInDesignだけでなく、Photo shopやAfterEffects、一般的なブラウザやJavaScriptを使って制御できるアプリケーションすべてに有効です。InDesignのように、日本語特有の機能(プロパティ)を見つけたい場合には便利でしょう。
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>

< ttp://www.amazon.co.jp/exec/obidos/ASIN/4774136875/dgcrcom-22/ >
・AfterEffectsをスクリプトで制御(とりあえず一区切り)
< http://ae-users.com/jp/
>
・アスキー:「29分でできる! あのサイトの“技”を盗め」第22回、第23回
< http://ascii.jp/elem/000/000/410/410838/
>
< http://ascii.jp/elem/000/000/413/413302/
>
・Adobe AIR例文辞典
< http://www.openspc2.org/reibun/AdobeAIR/1.5/
>
・フルサイズ フリー素材(たくさん追加)
< http://footage2.openspc2.org/sozai/fullsize/
>
・ハイビジョン映像素材
HDD容量の都合で3台のサーバーに分散させました。
< http://www.openspc2.org/HDTV/
>

- 改訂第4版 JavaScript ポケットリファレンス
- 古籏 一浩
- 技術評論社 2006-10-18
- おすすめ平均
JavaScriptを使ったプロジェクトのお供に是非
JavaScript仮免者以上の方へ
バランスの良いバイブル
中級者向けです。
by G-Tools , 2009/05/11