CS JavaScriptで自動化の際に

[3613]CS JavaScriptで自動化の際に | 投稿者:いちごたると | 投稿日:2009/09/11(Fri) 22:44:03
MacOSX CS JavaScriptで自動化の際に進行状況が解るように、
プログレスバーを表示し、現在処理中のページを表示しようと思います。

WinXP CS3 ではうまく行ったのですが、MacOSX CSで躓きました。

プログレスバーの表示は↓を参考に
http://d.hatena.ne.jp/kamiseto/20090408/1239163517

処理中ページの表示は
app.activeDocument.windows[0].activePage = pageObj;
※pageObjは現在処理中のページオブジェクト

で、CS3では実現できました。

ところがCSでは、プログレスバー用のwindowを作成する
myProgressPanel = new Window(...);
というところで
"Window dose not have a constructor"
と、Windowにはコンストラクタが無いというエラーがでてしまいます。

【質問1】
CSでwindowを作成するにはどうすればよいのでしょうか?

【質問2】
また、作成したwindowに
myProgressPanel.add('progressbar', ...);
で、プログレスバーの追加もできるのでしょうか?

【質問3】
また、現在処理中の任意のページを表示させるには
どうすればよいのでしょうか?
app.activeDocument.windows[0].activePage = pageObj;
としてもCS3と違いなんの変化もありませんでした。


ご存知の方がいらっしゃいましたら何卒ご教授くださいませ。
» 1
[3614]Re: CS JavaScriptで自動化の際に | 投稿者:お~まち | 投稿日:2009/09/12(Sat) 10:18:56
InDesign のJavaScriptで扱えるWindowオブジェクトは、実は2種類ありまして、ひとつは「InDesign JavaScript」に含まれるWindowオブジェクト、もうひとつは CreateSuite に含まれる(Bridge付属といってもいいのかも知れませんが)JavaScriptに含まれるWindowオブジェクトです。
前者はInDesignのドキュメントウィンドウで、InDesign 2の頃から実装されていたと思います。後者はAdobe CS3から実装されたもので、InDesignだけでなく、IllustratorPhotoshopなどでも共通して使えるダイアログなどのウィンドウです。

で、kamisetoさんが使用しているのは後者の方なので、CS3以降でないと使用できません。

CS2以前のInDesign JavaScriptでダイアログウィンドウを使用するには、InDesign JavaScriptに含まれるdialogオブジェクトがありますが、これは主に入力用で、プログレスバーの機能はありません。

従ってお望みの機能を実現するにはスクリプトでは不可能で、別のアプリケーションを用意するか、プラグインを作成するしかありません。
» 2
[3615]Re: CS JavaScriptで自動化の際に | 投稿者:いちごたると | 投稿日:2009/09/12(Sat) 10:33:43
お~まちさん、くわしい説明をありがとうございます。

やはりCSではプラグインなどを利用しないとプログレスバーは無理なのですね…

残念ながらプラグインの作り方はわかりません(しかもMacでのプログラムも出来ません)ので
今回CSでのプログレスバーは諦めます。。。

しかしながら、現在処理中のページを表示する方法だけでもわかれば
それだけでも十分なので、ご存知の方いらっしゃいましたら
引き続きよろしくお願い致しますm(_ _)m
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア