忍者ブログ

ぼんぷろぐ

InDesign、イラレ、フォトショ(CS6 Win)の勉強中。。。(旧まとめいみブログ)

[InDesign]
回り込みオブジェクトで回りこむ段間罫線スクリプト


使い方は前につくった段間罫線スクリプトと同じです。
※縦組みフレームグリッドのみ対応
※CS5以上なら動くと思う

PR

[InDesign]
青空文庫書式とかで書かれたルビをIndesignルビ化するスクリプト


InDesign上で『|漢字《かんじ》』みたいに書かれたテキストをルビに変換するスクリプトです。
CS3くらいから動きそう。

[InDesign]
nullとの比較でオブジェクトの有無を確認できるじゃん!(InDesignスクリプト)

Indesign JavaScriptで、取得したInDesignオブジェクトがほんとに存在するかをチェックできるisValidプロパティはCS4からの実装で、それ以前はエラーをキャッチするくらいしかチェック方法がなかった…
ってなことを当ブログの『InDesign Javascriptについて』のとこで書いてたんですが、全然そんなことはなかった。

『null』と比較演算子を使って比較すればよかったのですね。

#target "InDesign"
var nDocu=app.documents.item("存在しないドキュメント");

$.writeln(nDocu==null); //これがtrue
$.writeln(nDocu===null); //これもtrue!?

$.writeln(nDocu!=null); //false
$.writeln(nDocu!==null); //false

if (null) {$.writeln(true)} else {$.writeln(false)} //nullはifカッコの中ではfalse扱い
if (nDocu) {$.writeln(true)} else {$.writeln(false)} //でもこれはtrue

$.writeln(nDocu); //[object Document]
$.writeln(nDocu.toSource()); //resolve("/document[@name=\"存在しないドキュメント\"]")
$.writeln(nDocu.isValid); //これはfalse(CS4以降)
$.writeln(null==null); //trueですよね
$.writeln(nDocu==nDocu); //まさかのfalse
$.writeln(nDocu>=nDocu); //trueとな

まずDocumentsのitemメソッドを使って、"存在しないドキュメント"という名前の存在しないドキュメントを取得。
これをnullと==で比較するとtrueが返ります。
さらになんと===で比較してもtrue。
これを見たら、なんだitem()がnullを返してるだけじゃんって思われそうですがそうじゃないのです。
toSource()とかやってみれば分かる通り、あくまでitem()が返したのは[object Document]で、それが『nullと比較するとtrueを返す』という特殊な性質を持ってるようです。

[InDesign]
ドキュメント間のコピペでスタイル名被りを防ぐためのスクリプト

InDesignであるドキュメントから別のドキュメントにコピペするときってスタイル名に結構気を使います。

なにしろペースト先に同じ名前のスタイルがあるとそっちが適用されてしまうので、「ペーストしたらフォントが変わっちゃったんですけど??」的なことがよく起こります。
かといってちょっとした使い捨てのドキュメントでまでいちいちユニークなスタイル名をつけるのはめんどくさい。
ってことで作ってみました。
※CS3以下では動きません。

使い方

①コピーしたいものを選択して、『スタイルを移動してコピー.jsx』を実行します。
②別のドキュメントで普通にペーストします(元の位置にペースト等も可)。
③使われていたスタイルが『(ドキュメント名)からコピー』という名のスタイルグループに入った状態でペーストされます。
※段落、文字、オブジェクト、セル、表のすべてのスタイルに有効です。




プロフィール

あるふぁ(仮)
InDesignで新聞組版のようなことをしてる人です。

InDesignスクリプトについて

つくったInDesignスクリプトのまとめ

twitter

5つの「く」

ハタハタのすばらしさをまとめました。