終了

ページ内の複数のテキストボックスを連結することなく、テキストを書き出したい

New Here ,
Sep 16, 2019 Sep 16, 2019

リンクをクリップボードにコピー

コピー完了

windows10 インデザインcc2017です(作成はmacOS10.8.5 インデザインcs6)。

1ページあたり60個のテキストボックスがある、70ページのインデザインのデータを、1ページあたり1つのエクセル(70p=70個のエクセルファイル)データにしたいと考えています。

テキストボックスの層(前面・背面など)がページごとに統一されていないデータを、全ページ、左上から右下のような順番、もしくは一定に統一された順番でテキストを書き出しすることはできますか?

また、そういったスクリプトはありますか?

1テキストボックスごとに改行されているのが理想です。

最終的には、エクセルで作成されたフォーマットに流し込みをしたいです。

マクロやスクリプトなど、あまり詳しくないので、わかりやすい方法があれば、教えてください。

表示

558

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
積極的な参加者 ,
Sep 17, 2019 Sep 17, 2019

リンクをクリップボードにコピー

コピー完了

yubenshaさん、こんにちは。

 

パターン1

  1. 検索 .\z  置換 $0★  などですべてのストーリーの最後に同じ記号を挟む
  2. 手作業ですべてのストーリーを任意の順に連結する
  3. テキストとして書き出す
  4. 1で挿入した記号を改行やタブに置換する

スクリプトなどを使わなければこんな感じかなと思いました。

 

パターン2

テキストフレームをすべて結合(https://ajarproductions.com/blog/2008/11/28/merge-textframes-extension-for-adobe-indesign/) してからテキストを抜き出す。

ただこれは調べたら見つかったというものなので僕自身試していません。

 

パターン3

やはりスクリプトを用意するのが楽かもしません。

単純にすべてのテキストフレームを連結するにはこんな感じです。

var doc = app.documents[0];
var txf = doc.textFrames;
for (var i=0; i<txf.length-1; i++) {
    txf[i].nextTextFrame = txf[i+1];
}

座標もペーストボードも判定せず、すべてのテキストフレームを適当に連結します。

パターン1の処理1を行った上でテキストフレームを連結し、

テキストに書き出してからその記号を改行なりタブに置換するというのが手っ取り早いように思います。

作り込むなら、最後に書き出したいテキストの形式から逆算して、スクリプトに仕込んでおくといいでしょう。

Yusuke S.

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
積極的な参加者 ,
Sep 17, 2019 Sep 17, 2019

リンクをクリップボードにコピー

コピー完了

すみません、連結しないで、と書いてありましたね……

Yusuke S.

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Expert ,
Sep 17, 2019 Sep 17, 2019

リンクをクリップボードにコピー

コピー完了

最新

スクリプトでやるなら、ページごとにループしながらtextFramesをソートして左上から並べ直し、contentsを抜き出して保存するという一連を繰り返す形になります。

そうそう都合の良いScriptというのは世の中出回っていません。基本的な機能ですから近い内容のものを自身で少し手を加えるというのが現実的でしょう。

先にも書きましたが、基本的な機能で賄えるのでスクリプトを学ぶには適したテーマだと思います。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines