top

InDesignCS3での各種スタイル適用について。

by buruge ~ 5月 13th, 2008. Filed under: InDesignCS3+javascript.

CS2まで、スタイルを適用する時って例えば文字スタイルだと

txtObj.characters[i].applyStyle(myCharacterStyle);

で良かったけど、CS3からは

txtObj.characters[i].applyCharacterStyle(myCharacterStyle);

のように、applyStyleをより具体的なかたちで記すようになったんですね。
セルスタイルなら「applyCellStyle」とか。
段落スタイル、表スタイル、オブジェクトスタイルも全て別々の命令に別れてる。
これってCS3からスタイルが増えたから、より確実に適用させるためなんでしょうか。

これに気がつかず、昨日ずっと「ぎゃー!適用できねー!」と四苦八苦してました。(^^;
というのも、アドビのInDesignCS3スクリプティングガイドJS 66ページの例文が

applyStyle(myCharacterStyle, true);

なんですもの…。
「Version 4.0 Scripts」だと動くし、CS3から何か仕様が変わったんだろうなあとは思いつつ、試しにサンプルスクリプトのデータ開いてみたら(CreateStyles.jsx)

applyParagraphStyle(myCharacterStyle, true);

とか書いてあって、なん…だと…?文字スタイルも段落スタイルとして適用できるようになったのか?とか思ってしまったし。
実行したらエラー出たから、まあそりゃそうだよなあと思いつつParagraphをCharacterに修正して

applyCharacterStyle(myCharacterStyle, true);

にしたらきちんと動作。
アドビのダブルミスブロックに危うく惑わされるところでした。
こういうリファレンスのミスって結構あるんですかね?

というか、ExtendScriptToolkit2の予測でapplyObjectStyleとか出てたんだからその時点でピンと来なきゃだめですよね。
まあ、解決してよかったってことで。

Leave a Reply