3 返信 最新の回答 日時: Oct 4, 2006 9:39 AM ユーザー:(fg_tak)

    CS2でページを生成しながらテキスト配置

    Level 1
      環境:WinXP InDesignCS2 VB6.0

      質問させて頂きます。
      Wordで30ページ位のドキュメントをInDesignで配置するプログラムを作成しています。

      txtFrame.Place("FilePath")
      で実行すると、ページは作成されずにテキストOverFlowします。

      プログラムを使用しないで、手で同じ動きを試したところ
      Ctrl+D(テキスト配置)でShiftを押しながら、テキストフレームを選択すると、テキストがオーバーフローすると、ページを自動で作成してくれる機能がありました。これをプログラムで 行いたいのです。

      CSにはtextFrame.Placeメソッドの引数に
      「Autoflowing」というものがあったのですが、CS2から無くなっています。

      テキスト分ページを自動で作成しながら配置する、良い方法がありましたら教えてください。
        • 1. Re: CS2でページを生成しながらテキスト配置
          Level 1
          もうひとつのやり方として、

          TextFrameがOverFlowしたら、PageとTextFrameを追加して、前のページのTextFrameと作成したTextFrameを連結する。
          という動作をOverFlowしなくなるまでLoopさせるというのを試しています。

          そこで分からないのが、テキストを連結させる方法です。

          色々なサイトで探したのですが、分かりませんでした。
          どなたか宜しくお願いします。。。
          • 2. Re: CS2でページを生成しながらテキスト配置
            Level 1
            確かにCS2でTextFrame.PlaceメソッドのAutoflowingパラメータが無くなっていますね。私が調べたところ、CS2でAutoflowingパラメータが存在するのは 、Index、 MasterSpread、 Spread、 Pageの各オブジェクトのPlaceメソッドのみでした。
            PageオブジェクトのPlaceメソッドで試してみましたが、確かにページを勝手に増やして連結してくれますが、マスターページのテキストフレームをオーバーライドしてくれないので、期待し た動作(手で行う)にはなってくれませんでした。一度試してみて下さい。

            >テキストを連結させる方法

            同じ内容のトピックが立っていましたのでそちらに書き込んでしまいました。申し訳ありませんがそちらを参照して下さい。

            お〜まち さんが投稿したメッセージ「フレームの連結方法」 (投稿日時 : 2006年10月4日 08:54)
            • 3. Re: CS2でページを生成しながらテキスト配置
              Level 1
              お〜まちさん

              ありがとうございます!
              PageオブジェクトからのPlaceメソッド試してみました。確かに望む処理と少しだけ違う部分もありましたが、各Preferenceオブジェクトのプロパティをいじくればなんとかなりそ うです。
              テキスト連結も参考にさせて頂きました。

              Loopさせてテキスト連結とPlaceメソッドのAutoFlowingを比べると、前者の方が圧倒的に処理スピードが落ちますが、処理の見た目が派手です。
              使い分けれるようにしたいと思います。

              非常に助かりました。
              お〜まちさん、ありがとうございました。