5 返信 最新の回答 日時: Sep 8, 2016 5:36 PM ユーザー:chirico44cc

    ページパネルですべてのページを選択する方法

    chirico44cc

      ①お使いのOSとそのバージョン

      MacOSX 10.6.8、10.11.5

       

      ②製品とそのバージョン

      InDesign CS4、CS5(以降のバージョンも使っています)

       

      ③トラブルの内容

      ページパネルで、すべてのページを選択する方法を探しています。

      選択後に「すべてのページアイテムをオーバーライド」を実行したいのです。

       

      ドキュメントは複数のマスターを使用しています。

      現在の方法は以下の通りです。

       1.ページパネル内で先頭ページをクリック選択

       2.最終ページまでスクロール

       3.最終ページをシフト+クリック

       4.メニューから「すべてのページアイテムをオーバーライド」を実行

       

      業務で毎日のように操作しているので、もう少し手軽にできないものかと調べています。

      何か良い方法がありましたら、ご教示くださいますようお願いします。

        • 1. Re: ページパネルですべてのページを選択する方法
          monokano Most Valuable Participant

          マスターページアイテムのオーバーライドは、標準機能ではなく、せうぞーさんのスクリプト「override_selection」が超絶に便利です。

           

          マスターページ上の選択アイテムをすべての適用ページ内でオーバーライドさせる「override_selection 0.3」 - 名もないテクノ手

           

          これならすべてのページを選択する必要がありません。

          さらにノンブルや柱などのオーバーライドを避けたい箇所を対象外にできます。

          • 2. Re: ページパネルですべてのページを選択する方法
            akatsuki_pocket Most Valuable Participant
            1 人が役に立つと言っています
            • 3. Re: ページパネルですべてのページを選択する方法
              chirico44cc Level 1

              monokanoさん、akatsuki_pocketさん

              早速ご回答いただきまして、ありがとうございます。

               

              「override_selection」はとても便利なのですが、今回の私のケースでは適しません。

              理由は、複数のマスターページを運用しているからです。(画像参照)

              マスター4種類使用.jpg

               

              添付画像の例では、4つのマスターがあるので、スクリプトで使用した場合には4回実行することになり、これでは従来のように手作業で実行したほうが良いことになります。(実際にはもっとページ 数は多いです)

               

              よってやり方を模索している次第です。別の対応策があれば、よろしくお願いいたします。

              なお、今回質問しました業務は大量に入稿されたIllustratorの名刺を台紙に貼りこむ仕事です。サイズや枚数が様々なので、こういった台紙で作業をしています。毎日の業務なので少しで も改善できると良いと考え、質問いたしました。

              • 4. Re: ページパネルですべてのページを選択する方法
                akatsuki_pocket Most Valuable Participant

                スクリプトの実行はショートカット化することができます。

                ショートカットで実行すれば、オーバーライドを実行するよりも手間が少ないと思います…

                 

                また、マスターに登録したオブジェクトに画像(名刺)を貼り込むのであれば、

                オーバーライドをしなくても、フレームをクリックすることでマスターのロックを自動で解除して貼り込むことができます。

                • 5. Re: ページパネルですべてのページを選択する方法
                  chirico44cc Level 1

                  akatsuki_pocketさん、アドバイスありがとうございます。

                  色々な考え方、やり方がありますね。

                   

                  市川せうぞーさんのスクリプト「override_selection」を読んでいて、ふと思いました。

                  「この件ってスクリプトで解決するのではないか?」

                  という訳で、「すべてのページのすべてのページアイテムをオーバーライド」を作ってみました。スクリプトは勉強中の身なので、これでよいのか自信はありませんがテスト結果は良好です。今回の件 の解決策としては当初の予定とは異なりましたが、これもひとつのやり方かと思います。

                  拙作スクリプトを記載しますので、よろしければ添削をお願いします。(どなたでもけっこうです)

                   

                  *****以下、スクリプトです*****

                  /*

                  all_page_override.jsx

                  すべてのページのすべてのページアイテムをオーバーライド

                   

                  このスクリプトは下記の皆様の作品を参考にさせていただきました

                  ありがとうございました

                   

                  市川せうぞーさん

                  http://d.hatena.ne.jp/seuzo/20091028/1256655782

                  こうちゃん犬猫まみれさん

                  http://macneko.blog77.fc2.com/blog-entry-78.html

                  */

                   

                  ////////////////////////////////////////////エラー処理

                  function myerror(mess) {

                      if (arguments.length > 0) {

                          alert(mess);

                      }

                      exit();

                  }

                   

                  ////////////////////////////////////////////以下実行ルーチン

                  if (app.documents.length == 0) {

                      myerror("ドキュメントが開かれていません")

                  }

                  var my_document = app.documents[0];

                   

                  for (var i = 0; i < my_document.pages.length; i++) {//各ページループ

                      var my_page = my_document.pages[i];

                      var my_objects = my_page.masterPageItems;

                   

                      for (var ii = 0; ii < my_objects.length; ii++) {//選択アイテムのループ

                          //アイテムのレイヤー情報を取得

                          var layObj = my_objects[ii].itemLayer;

                   

                          //レイヤーがロックされていない、かつ表示されている場合はオーバーライドする

                          if (layObj.locked == false && layObj.visible == true) {

                              try {

                                  my_objects[ii].override(my_page);

                              }

                              catch (my_Error) {

                                  myerror("オーバーライドでエラー:" + my_Error);

                              }

                          }

                      }//選択アイテムのループ

                  }//各ページループ