8 返信 最新の回答 日時: Feb 8, 2009 7:52 PM ユーザー:(aristerstrong)

    InDesignのスクリプト

      前回はお世話になりました。

      今度は別件で、どうしても制御方法が解けないところがありまして…

      InDesignのウィンドウの制御なのです。

      Documentのウィンドウの制御はboundsに値をセットすれば制御できてるのですが、その外側…といいますか、アプリケーションのウィンドウそのものの大きさの制御がどうしてもできな いのです。

      一連のスクリプトの中で、画面の中でInDesignを最大化させずに、大きさを指定させたいものがあるのです。

      これがたとえばExcelであれば、
      ワークシートの大きさだけでなく、Excelそのものも簡単に制御できるのですが、InDesignでは、その制御は無理なのでしょうか?

      OS・言語は問いませんので、また、アドバイスよろしくお願いいたします。
        • 1. Re: InDesignのスクリプト
          seuzo-oJiFme Level 1
          前回もちょっと気になったのですが、
          トピックのタイトルがもうすこし具体的につけていただけませんでしょうか。
          たとえば「ウインドウの大きさをスクリプトで制御するには?」とか。
          あとで、同じ問題で悩んでいる人が、タイトル一覧を見ただけでアクセスしやすくなります。

          それから、質問をされる方は、OSやInDesignのバージョンを詳しくかかれるといいと思います。
          スクリプトでもバージョンによって書き方が違う場合があります。

          >アプリケーションのウィンドウそのものの大きさの制御がどうしてもできないのです。

          アプリケーションのウィンドウって何ですか? 
          正しい名称がありますか? ヘルプで調べてみてください。
          http://d.hatena.ne.jp/seuzo/20080420/1208673854
          にあるようなドキュメントのウインドウではないんですよね?
          あるいはlayout window クラスですか?
          CS4のアプリケーションフレームのことでしょうか?
          http://help.adobe.com/ja_JP/InDesign/6.0/WS3021052C-107A-42bd-B64E-D658875592AF.html
          • 2. Re: InDesignのスクリプト
            Level 1
            アプリケーションウィンドウというのは、おそらくWindowsに限った話なんでしょう。Mac OSではそういう概念はありませんから。
            だとしたら、(Win、Macの両プラットフォームでの動作を前提にした)InDesignのスクリプトでは制御不能です。OS側の機能を使ってください。
            • 3. Re: InDesignのスクリプト
              Level 1
              市川せうぞー様
              お〜まち様

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

              こちらの質問の仕方がかなり不備がありまして、申し訳ありませんでした。

              また、せうぞー様のご意見どおり、タイトルにアクセスしやすいように入れることも必要でした…。以降気をつけます。

              今回の質問の際に、正式なオブジェクトの名称がわからなくて、ちょっとあいまいになってしまって申し訳ありません。

              アプリケーションのウィンドウと表現いたしましたのはWindows版の場合は、InDesignを起動したときの開く大きさのことです。
              InDesignに限らずにほかのアプリでも同様ですが、アプリケーションのアイコンと名称が最上部の左上にあって、最上部の右にはタスクバーにしまうためのボタンと最大化ボタンとCLOSE の×ボタンがならんでいますが、その大きさのことです。

              InDesignで新規ドキュメント作成すると、その中にさらにドキュメントのウィンドウができます。
              自分は、そのことをInDesignのObjectではLayoutWindowか、またはWindowと呼ぶと認識していたのですが、それはもしかしたら、謝りだったのでしょうか?(Lay outWindowとWindowの厳密な違いは、まだ理解しきれていない状態です)

              ただ、今自分が作成しているScriptではWindowは制御できているのですが、上述しました、その外側のアプリケーションの起動したときの大きさが制御できないのです…。

              この説明で、なんとか伝わりますでしょうか?

              せうぞー様のCS4のPDFを確認させていただきましたが、この図では位置的にはBのアプリケーションバーの位置になると思います。

              せうぞー様の書き込みのアプリケーションフレームというものは、自分の説明しているもの一致しているような気もするのですが…。

              もし、一致しているようでしたら、それはスクリプトで制御することは可能なのでしょうか?
                
                
                

              お〜まち様のご意見にありますように、もしかしたらOSからの制御になるのでしょうか?

              Mac版でいえばFinderか、Win版でいえばWSHなどを使っての制御になったりするのでしょうか?

              どちらかといいますと、Win版での制御がわかるととても助かります。

              現在CS2とCS3とで両方スクリプトを作っています。
              • 4. Re: InDesignのスクリプト
                seuzo-oJiFme Level 1
                それでしたら、OSに依存なのでwindows限定の話になりますね。
                MacにもInDesign CS4から「アプリケーションフレーム」というオプションを選べるようになりました。
                しかしこちらはOS依存ではなくて、InDesignがそういうUIを作ったというべきです。
                その場合、windowクラスがこれに該当します。AppleScriptですと
                tell application "Adobe InDesign CS4"
                tell window 1
                set bounds to {100, 150, 1061, 1506}
                end tell
                end tell
                と書けば、制御できます。

                P.S.
                恐縮させてしまったみたいで、すみません。言い方キツかったかな...
                • 5. Re: InDesignのスクリプト
                  Level 1
                  市川せうぞー様

                  書き込みありがとうございました。

                  CS4からはアプリケーションフレームというものが存在して、Script的にWindowというObjectがそれに該当することになるのですね。

                  WinのOS依存ということでしたので、WSHで制御できないかいろいろ調べているのですが、簡単にサイズの制御ができるもの(IEやExcelなど)もあれば、InDesignの情報はなか なか得られていません…。

                  もしかしたら、InDesignのCS2やCS3ではそのような制御は難しいのかもしれないですね…。

                  もう少しいろいろ調べてみます。

                  でもCS4からは標準でそういう制御ができるということですので、早くCS4環境に移行できるといいな…と思います
                  • 6. Re: InDesignのスクリプト
                    seuzo-oJiFme Level 1
                    >CS4からは標準でそういう制御ができるということですので、

                    いいえ、ちょっとちがいます。アプリケーションフレームはおそらくMac版のみの仕様です。InDesign CS4のMac版では、windowクラスで操作できるという意味です。
                    誤解を与えるような書き方をしてすみません。
                    • 7. Re: InDesignのスクリプト
                      Level 1
                      > WSHで制御

                      そういえば過去にこんなトピックありました。
                      http://forums.adobe.co.jp/cgi-bin/WebX?128@@.38dcb32a

                      たしかWSHでは最大化、最小化などの制御はできてもピクセル単位でInDesignアプリケーションのウィンドウサイズを制御することはできなかったかと。するのであればVisualStu dioとかDelphiなどの開発系のソフトを使用して行うのだと思います。
                      InDesignにこだわって探すと見つからないので、Windows付属の「電卓」や「メモ帳」などのアプリケーションのウィンドウ位置や大きさを制御する方法を探せば何か出てくると思いま すよ。
                      • 8. Re: InDesignのスクリプト
                        Level 1
                        市川せうぞー様
                        お〜まち様

                        書き込みありがとうございました。

                        せうぞー様より教えていただいた件に関しましてはMac版のCS4のみ…ということなんですね。
                        いえいえ、こちらの文章を読み取る力が足りなくて申し訳ありませんでした。
                         
                         
                        お〜まち様、ご返答ありがとうございました。
                        とても参考になりました。
                        リンク先をみさせていただきました。
                         
                        実は自分も同じような悩みにはぶつかっていまして、Script実行中に速度をあげるための描画をとめられないか…と悩んだのですが、解決できずに、実行中はタスクバーにしまうことで速度をあ げたりしています。
                         
                        さらに自分であれば、実行中にInDesignのDocumentなどを触ったりはしないですが、他の人のためのScriptでは、実行中にはメニューやDocumentに何をするかまではわ からないので、それを防ぐためにも完全に非表示にできたら…と思っていました。
                         
                        今回のリンク先の起動のさせかた、実に参考になりました。
                        近日中に試してみたいと思います。
                         

                         
                        たしかにInDesignにこだわって探すとウィンドウ制御の仕方は見つかりにくいかもしれませんね…。

                        お〜まちさんのご意見どおり、メモ帳などのウィンドウを制御する方法をみつけて、そのアプリケーション名をInDsignに置き換えてt制御できるか探してみたいと思います。

                         
                        Macでスクリプトを作っているときは、昔でいえばFaceSpanとかを使って、アプリケーションに対しての完全なフローティングパレットを作ることができたので、アプリケーションの画面表 示の大きさは考えずにいても問題なかったのですが、今現在こちらがWindowsで作っている環境では、ああいったフローティングパレットが作れる環境にありませんので、InDesign自信 の画面表示の大きさをスクリプトから指定できると、アプリケーションのウィンドウ描画の前後関係(上下関係といいますか…)をそれほど考慮しなくても、いろいろな場面で、スクリプトを使う人に とっての使いやすいスクリプトとなる場面が考えられます。

                        そのような理由から、このウィンドウの描画のサイズ指定ができるようになるといいな…って思っています。