8 返信 最新の回答 日時: Nov 6, 2003 1:55 PM ユーザー:(nobhigh)

    索引マーカーの位置取得

      VBでScriptを書いている者です。InDesingの索引項目の文書内の位置に関してつまずいているものです。

      索引マーカーを表すPageReferenceからStoryoffsetは取得できるのですが、テーブル内などだとtableのStoryoffsetを計算しても実際の文書内の位置にはた どりつけません。順序がおかしくなるのかもしれませ。

      取得した項目名を検索しても、項目名の直前の∧記号はスペースとしてしか認識できないし。どなたかいい方法をご存知でしたら、教えてください。
        • 1. Re: 索引マーカーの位置取得
          Level 1
          位置というのは、そのストーリー内でのオフセットを取得したいのですか?

          結局、位置を知って、何をやりたいのでしょうか?

          目的を達成するために、他のアプローチの方法があるかもしれません。
          • 2. Re: 索引マーカーの位置取得
            Level 1
            ueさん、

            >結局、位置を知って、何をやりたいのでしょうか?

            文書から段落ごと文章を抜き出し、テキストとして保存するマクロを作成しています。その際、あとから索引項目とわかるように特殊なタグをマーカーの先頭と最後に追加しておければと思いました。

            タグ形式でExportすれば索引マーカーはわかるのですが、プレーンなテキストとして利用したいので。
            • 3. Re: 索引マーカーの位置取得
              こんにちは。私も同じ問題にぶつかってテーブル内の文字列に索引マーカーを作成できずにいます。
              私の場合は、索引マーカーを自動で配置していますので、作業工程は逆ですね。

              nobhighさんがやりたいことですが、手作業で索引マーカーを配置するのであれば、その時に、文字列に色や反転など検索できる情報を付加するというのはどうですか? 索引機能の全検索を使用する場合は、手作業で全置換すれば平気だと思います。

              こうして、タグ内の修飾情報をチェックすれば上手くいくかもしれませんよ。
              • 4. Re: 索引マーカーの位置取得
                Level 1
                しゃもんさん、自分の場合は既存のInddファイルからの索引マーカーの取得です。でも、しゃもんさんも表内の索引マーカーで立ち往生だったのですね。自分だけじゃないと知り少し安心しました 。

                もう一度索引マーカーが表内の場合のStoryOffset値の取得のされ方を調査してみます。ありがとうございました。
                • 5. Re: 索引マーカーの位置取得
                  Level 1
                  >タグ形式でExportすれば索引マーカーはわかるのですが、プレーンなテキストとして利用したいので。<br /><br />なるほど。<br /><br />表からのテキストとして保存は、どのようにされているのでしょうか?<br />text contentsを取得すれば、索引マーカーは<FEFF>と出てきますので、利用できませんか?<br /><br />あと、格好は悪いかもしれませんが、タグテキストでExportしたものを、不要なタグを削除するほうが、手っ取り早いかもしれません。索引マーカー位置・文字・読み全て簡単ですね。< br />でも、表のまま書き出しはできないので、今回の問題の解決にはならないですね(>_<)
                  • 6. Re: 索引マーカーの位置取得
                    Level 1
                    えっ、索引マーカーは<FEFF>とでる。それは知らなかったです。該当位置のTextContentsを取得してAscW()しても32にしかならないです。インライングラフィックが?とし て取得される場合、以前AscWを使ってたしかにインライングラフィックかの確認ができたのですが。どうすると<FEFF>と確認できるのでしょうか?<br /><br />タグテキストの利用ですが、最終的に索引が取得できなかった場合の候補には一応あがっています。
                    • 7. Re: 索引マーカーの位置取得
                      Level 1
                      私は職場ではMacなので、Winと取得できるデータに違いがあるのでしょうか?<br />プロパティをゲットすれば、<br />text contents:あい<FEFF>うえお<br />のように、取得できます。特別なことはしていません。<br />OSは、Winの何ですか?スクリプトが使用する文字コードとか関係あるのかな?私の環境はMacOS9.2.2 AppleScript1.6<br /><br />ちなみに、インデザイン上の置換パレットで、置き換え文字に<FEFF>と入力すれば索引マーカーを挿入できます。しかし、検索文字に<FEFF>と入力してもヒットしてくれません。
                      • 8. Re: 索引マーカーの位置取得
                        Level 1
                        私の環境はWin XP professionalです。Macだと<FEFF>と見えるのですね。なるおどー。確かに置換文字で<FEFF>とするとXPでも索引マーカーのような幅のないスペースに置換されます。 しかし、textのcontentsで取得しても、やはりそこはスペースとしてしか返しません。<br /><br />んー。でもCell内の索引マーカの位置取得も精度が高くなり誤差も少なくなりました。Cell内のStoryOffsetはPage→TextFrames→tables→Cells とたどらなければならないようです。TableはTextFrameの途中でもTextFrameの最後からとしてカウントしなければならないようです。