InDesign CS4 JavaScriptの記述に関する質問です

[3674]InDesign CS4 JavaScriptの記述に関する質問です | 投稿者:GO | 投稿日:2009/10/14(Wed) 23:41:16
はじめて投稿します。

作業環境は以下の通りです。

Power PC G5
Mac OS X v10.4.11
InDesign CS4 ver.6.0.4

最近、javascriptの勉強をしています。質問を複数まとめて書きますが、ご容赦ください。

段落スタイル「本文」に正規表現スタイルを適用したいのですがうまくいきません。

ドキュメントを開いた状態で、段落スタイル「本文」と文字スタイル「欧文」はあらかじめ作った上でスクリプトを実行しています。

ソースは以下の通りです。

var pStyHonbun = app.documents.item(0).paragraphStyles.item("本文");
pStyHonbun.nestedGrepStyles.add();
pStyHonbun.appliedCharacterStyle = "欧文";
pStyHonbun.grepExpression = "[a-zA-Z]";

3行目で以下のようなエラーが出ます。(エラー文は思い出して書いているため、多少間違っている可能性があります。)

エラー番号:30477
エラー文字列:セットのプロパティ'appliedCharacterStyle'の値が無効です。予想される値はCharacterStyle or Stringですが、値"欧文"を受け取りました。


同様な感じのエラーが以下の場合でも出ます。

ソースは以下の通りです。

// 段落スタイル「本文」に対して、基準となる段落を指定
var pStyHonbun = app.documents.item(0).paragraphStyles.item("本文");
pStyHonbun.basedOn = "[基本段落]";

2行目でエラーがでます。

また、新規ドキュメント作成時に、マスターにテキストフレームを作成する指定をしても作成されません。

ソースは以下の通りです。

// マスターにテキストフレームを作成する
var newDoc = app.documents.add()
newDoc.documentPreferences.masterTextFrame = true;


あと、テキストフレームにオブジェクトスタイルを適用したいのですが、その記述が今ひとつわかりません。


コードの書き方が間違っているのでしょうか。

長々と書いてしましましたが、ご教授お願いします。
» 1
[3675]Re: InDesign CS4 JavaScriptの記述に関する質問です | 投稿者:せうぞー | 投稿日:2009/10/15(Thu) 01:01:29
最初の正規表現スタイルのものだけ答えます。
var pStyHonbun = app.documents.item(0).paragraphStyles.item("本文");
var myRegexStyle = pStyHonbun.nestedGrepStyles.add();
myRegexStyle.appliedCharacterStyle = app.documents.item(0).characterStyles.item("欧文");
myRegexStyle.grepExpression = "[a-zA-Z]";

GOさんのコードを見る限りちょっとオブジェクト階層に対する理解が欲しいところです。
add()メソッドの返り値がどんなクラスなのか、それはどんな属性を持っているのか。
ですからこうしたことが分かると、2番目のスクリプトも自ずと解答が出るんではないでしょうか。


#ちなみに、一度にたくさんの質問だと、一体何を聞いていらっしゃるのか、ちょっと散漫になってしまうので、テーマなり、目的なりで絞ったほうがいいですよ。
» 2
[3676]Re: InDesign CS4 JavaScriptの記述に関する質問です | 投稿者:GO | 投稿日:2009/10/15(Thu) 01:14:37
せうぞー様

ご回答ありがとうございます。

まだまだ始めたばっかりで、理解が不足していることは痛感しております。二つ目は、回答をヒントに何とかなりそうです。

質問はやはり欲張りすぎてしまいました。

また、お手数をおかけすることもあると思いますが、そのときはお力添えをお願いします。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア