見出し画像

【ExtendScript】InDesignScriptingをはじめてみる

インデザでも効率化したいことができたので、インデザ用のスクリプトを書いてみようと思いました。まずは公式のリファレンスを探します。

There is no Scripting Reference PDF for InDesign; instead, use the object-model viewer included with your script-editing application

There is no Scripting Reference PDF for InDesign

There is no Scripting Reference PDF for InDesign.

うそだろ。

本当だった

ので、言われたとおりエディタのオブジェクトモデルビュワーでなんとかなるわけあるかーーーーーーーーーーーー!!!!!

とりあえず開発の始め方

ひとまず開発環境でテスト実行できるようにするまでは、
・InDesignCCを使える環境を用意
・VScodeを用意
・ExtendScriptDebbugerをインストールしてlunch.jsonを作成
でOKです。
インデザ立ち上げておいて、VScode側に適当なスクリプト書いて、F5押して、プラットフォームにインデザを選べばテスト実行されます。

ここまでは

この記事で紹介したやり方と同じです。

作ったスクリプトを実際に使う時は

フォトショやイラレなら、ファイルメニューの中に任意のスクリプトを実行出来るメニューがあったり、スクリプトファイルのD&Dで実行できるんですが、インデザにはその機能がないので、ちょっと面倒です。

まず、ウインドウ>ユーティリティからスクリプトパネルを表示します。
フォルダに分かれて表示されているので、ユーザーフォルダのうえで右クリック。エクスプローラーで表示、見たいなメニューが出るのでそれを選ぶと、スクリプト置き場フォルダが表示されます。
その中にスクリプトを置けば、スクリプトパネル上に表示されるようになるので、そこから実行します。まあこれは開発が完了したものを最後に配置すれば良いでしょう。

で、リファレンスは???

ないです。
ないので、こちらのサイトが非常に頼りになります。

とりあえず、Documentオブジェクトを始め、とっかかりとなるオブジェクトにアクセス出来るようになれば、フォトショやイラレのスクリプトを作ったことがあるか、JSのオブジェクトツリーの概念が分かっていれば、あとはまあそこそこ、オブジェクトツリー見ながらなんとか

なるかよ

今回の目標は「ルビを効率的に振れるようにする」なんですけど、オブジェクトツリーどう辿ればルビにまつわる情報にたどり着けるんだかさっぱりです。むりじゃよこんなん。
と言うわけで上記のサイト様にずるずるべったりお世話になりながら頑張って行きたいと思います。

とりあえず、DocumentオブジェクトからStoriesにアクセスして、その中身のテキストにアクセスして云々……くらいまでは出来るようになりましたが、その辺はまた追々。

この記事が気に入ったらサポートをしてみませんか?