3 返信 最新の回答 日時: Oct 24, 2006 10:34 AM ユーザー:(ター坊)

    ウィンドウ制御

      現在、InDesignを外部から起動し、大量ページのInDesignタグを一括でテキストフレームに流し込んでいますが、InDesingで流し込んでいる間、マシンスペックにもよります が結構時間がかかるため、処理の間はInDesignのメニュー操作などを全て禁止したいと思っています。InDesignのウィンドウ操作をイネーブル、ディスネーブルはどのように外部から 制御するのでしょうか。
      また、少しでもパフォーマンスをあげるため、InDesignのウィンドウを最小化して編集の結果を画面に表示させないことも考えています。

      あわせてアドバイスよろしくお願いします。

      WindowsXP Pro
      InDesign CS2
      VB6
        • 1. Re: ウィンドウ制御
          Level 1
          スクリプトでInDesignアプリケーションのメニューやウィンドウを制御することはApplication.Activateを除いて他にはないような気がします。
          ただし、Application.Visibleプロパティがあるので(読み取り専用)、スクリプト以外で方法があるのかも知れません。

          ちなみにInDesignドキュメントは非表示にすることができます。
          Application.Open および Document.Add メソッドに ShowingWindow パラメータがあります。
          • 2. Re: ウィンドウ制御
            Level 1
            追記です。Windows Script Host(VBS)では次のように行うと、InDesignアプリケーションを非表示のままスクリプトを実行できました。
            VB6でも同様のことが可能かと思いますので試してみてはいかがでしょう。「Run」「WindowStyle」でヘルプを検索してみればそれらしい記述が見つかるのでは?

            VBSの例
            Dim WSHShell
            Dim myInDesign
            Set WSHShell = CreateObject("WScript.Shell")
            WSHShell.Run """C:¥Program Files¥Adobe¥Adobe InDesign CS2¥InDesign.exe""", 0, False
            Set myInDesign = CreateObject("InDesign.Application.CS2_J")
            ------何等かの処理
            MsgBox "処理が終了しました。InDesignを表示します"
            myInDesign.Activate
            • 3. Re: ウィンドウ制御
              Level 1
              お〜まちさん
              いつもアドバイスありがとうございます。

              何とか解決することができました。

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