4 返信 最新の回答 日時: Feb 6, 2010 5:17 AM ユーザー:nobusann

    InDesignでスクリプト動作中に描画させない

    nobusann

      はじめまして

       

      InDesignのスクリプトで疑問がありまして、このフォーラムで質問をさせていただきました

       

      InDesignなどでスクリプトをされている方は、同じような疑問をもたれている方もいるのでは…と思うのですが、スクリプト動作中に、画面の描画の更新を禁止させることはできるのでしょう か?

       

      そのメリットとしては、

      1.描画をさせないことよって、処理速度をあげる

      2.長い処理のときに終了までの間にユーザーにドキュメントに触れさせないことによって、トラブルを防ぐ。

       

      などがあると思います。

       

       

      一番の理想は長い処理に入るときに、描画の更新を禁止して、マウスカーソルを砂時計(実行中)にして、処理が終わったら、描画の更新を許可して、マウスカーソルを通常に戻す

       

      などです。

       

       

      これらに関しまして、知識をもたれている方がおられましたら、ご指南よろしくお願いいたします。

        • 1. Re: InDesignでスクリプト動作中に描画させない
          IKI Kohei

          カネムーメモさんのブログにInDesign Scriptでアラートダイアログを出さないようにする。という記事があります。
          JavaScriptだとこの程度の制御はできますが、InDesignの描画そのものを制限するのは無理ではないかと。

          もしかしたらプラグインならできるのかもしれませんが、そちらの知識は皆無です。

          • 2. Re: InDesignでスクリプト動作中に描画させない
            milligramme Level 3

            処理にもよりますが、app.open(targetobj, false)などと非表示にしての裏方処理という手もあります。

            • 3. Re: InDesignでスクリプト動作中に描画させない
              nobusann Level 1

              milligramme さん、アドバイスありがとうございました。

               

              裏方手法という手法も安全性とパフォーマンス改善のためには、とてもよい方法ですね。

               

              今現在はCS2~CS4までのバージョンをそれぞれ使っていますが、この手法はCS4からでしょうか?

               

              CS2ではこちらのテストではエラーになってしまったのですが…。

               

               

              最近になってCS4へ取り組んでいるのですが、CS4になってから、CS2では無理だったことが

              かなりできるようになっているようですね。

               

               

              milligramme 様は、大量のドキュメントを処理させるようなスクリプトを書いたときに、安全性をあげたり

              パフォーマンスをあげたりするために、何かしているテクニックとかはありますか?

               

              もし、よろしければ、アドバイスお願いいたします。

              • 4. Re: InDesignでスクリプト動作中に描画させない
                nobusann Level 1

                IKI Kohei様、アドバイスありがとうございました。

                 

                 

                この手法の場合は、ドキュメント自体は普通にOPENして、動作中にユーザーへのアラートをださせない

                InteractiveLebelを変更するという手法ですね。

                 

                こちらの手法も、処理に数時間もかかるほうなスクリプトをあいてるマシンなどで

                動作させて離れてるときにアラートがでて、スクリプトが途中で止まりっぱなし…という状態を

                防いだりするには、とてもよい方法ですね。

                 

                なにしろ、数分でおわるスクリプトの場合は、心配は少ないですが、

                長時間かかるスクリプトは、ユーザーが途中でどんなことをするかわかならないため、

                スクリプトを作るときにも、そういうことが心配になってしまいます。

                 

                今回アドバイスいただいた手法も、今後うまく使っていきたいと思っています。

                 

                 

                ありがとうございました。

                 

                 

                今後とも機会がありましたら、アドバイスよろしくお願いいたします。