InDesign:テキスト流し込みスクリプト 2

先日てけとうに書いたテキスト流し込みスクリプトをUI化しました。パレットが出ます。
 機能の盛り込みに際限がなさそうなので最低限で一旦区切って出します。
ミスドで言うオールドファッションです(違うと思う)


InDesignCS3以降
CS2未満の環境では前回のでしのいで下さい




前回使用したテキストのサンプル。今回も流用します。




スクリプトをカチカチするとパレットが出ます。
 概要はこんな風で。左のリストには各1行目の先頭6文字までが並びます。
  とりゃえず合番が振られた状態を想定しています。

 


ドキュメント上でテキストフレームを選択しておいて、




適用ボタンをカチ。 リストをカチカチでも可能です。
 テキストが流し込まれ、使用されたテキストはリストから削除されます。




チェックボックス「1行目を無視」のオンオフの挙動はこんな感じで。
 合番なしのテキストにも使えます。

  


テキスト読み込み時に「1行目を無視」がオフ状態だと
 リストには2行目の内容(1行きりの場合は1行目)が並びます。
  「1行目を無視」と意味合いが逆になりますが利便性重視の仕様という事でひとつ。

 


今回のはひとまずここまで。
 次段階のももう出来てますが説明書きがおっつかないので。

●sample窓の中でテキストを編集したい気分に駆られると思いますが今回は我慢です。
●使用したテキストは即座にリストから削除されるのでテキストファイルの再読み込みが必要となります。はかない。


以後、ごてごて肉付けしていく予定の機能
●使用済みテキストを削除から色分けに変更
●sample表示窓内でのテキスト編集の有効化
●リス

InDesign:下っ端オペレータ用テキスト流し込みスクリプト

作成済みの表組へExcelのテキストデータを流し込む、とかはもう他で散々やられてるようなので(というかウチではやらないので)、もっとしょぼい現場で使うスクリプトを書いてみました。つまりは自分用なのですが。

サンプルテキストまみれのInDesignドキュメントにプリントアウトが添えられていて、
 支給テキストデータの流し込み順が書き込まれていたりしませんか。いや、するんですよ。
順番通りにコピペしていく作業となるわけですが、
 ここで問題となるのは「何度もコピペすんのめんどい」とかではなく
プリントアウト上の合番(流し込み順の番号)を探すのに時間がかかりすぎる
 という事でして。自分のことなんですが。
  これは右脳が機能してないのではないかと。



上のサンプル画像は至ってシンプルな上にテキストフレームも少なめですが、
 雑誌なんかだと縦組みの見開き中、タイトルのレイアウトの関係で左上から合番が振られていたり、合番が2ページで150を数えたりする事もザラなわけで。
これをスクリプトでどうにかしてやろう、と。


InDesignCS3以降対応
CS、CS2の人はページ内の下で紹介している「PlaceOptionalText_β.jsx」で対応して下さいまし。



前準備として、支給テキストを以下のように整形します。



改行(空段落)
合番-改行
テキスト本体-改行
改行(空段落)
合番-改行
……
といった要領で。
空段落で挟まれた範囲をひとかたまりで扱い、その中の一行目の内容を合番として判定し、流し込みに使われるのは二行目以降となります。

この合番は数字でも記号でもカナでも漢字でも犬でも猫でもなんでもいいです。
 ドキュメント上でテケトウなテキストフレームを選択してスクリプト実行。
初回実行時のみ、読み込むテキストファイルの選択を求めてきます。



この時読み込んだテキストは空段落を区切りとしてバラされ、変数配列にしまわれます。
 テキストファイルの再読み込み、InDesignの終了、のいずれかまで保持されます。

次に、合番の入力を求めてきます。
 選択中のテキストフレームに指定されている合番を入力して下さい。



テキストファイルの再読み込みを行う場合は入力フィールドを空欄にしたままOKします。
 再読み込みを行った時はここで一旦終了します(ループさぼり)

そして実行終了。しょもないテキストが入りました。



テキストファイルのエンコーディングには各自留意して下さい。
 言ってる本人がまださっぱり判っておりません。
つか、教えて下さい。ぐぐるのめんどいです。おしえておしえてー
 こっちの α版 は、UI化の都合で後発バージョン作成中。






続いて、下位バージョン向け。


CS以降対応
CSの場合は同梱の、拡張子が「js」の物を使用して下さい。



mixi内で同業とおぼしき方の草案を見て、それをもとに自分用に加味した物。
 上で紹介しているα版はたまたま時を同じくして自分も自分用に作っていたわけでして。
テキスト読み込み用として別ドキュメントを開いてテキストを配置しておき、作業ドキュメント上でテキストフレームを選択して実行、という要領です。

動作条件として、
(日)開かれているドキュメントが2つだけ
(月)背面ドキュメントのストーリー数が1つだけ(連結フレームはOK)
を満たして下さい。不幸な誤動作をできるだけ防ぐために、シビアめにしてあります。

テキストの整形についてはページ内の上側で説明しているPlaceOptionalText_α.jsxと同じにしといて下さい。

まず、新規ドキュメントにテキストを配置します。
 「配置…」やFinderからのドロップだと、テキストのエンコーディングによってはモジバケッソになる場合があります。



エンコーディングを変更するか、いつものエディタで開いてから全文コピペで対処して下さい。
 サンプル画像ではUTF-16でドロップ配置してから組み方向とフォントを整えてあります。
  あの、その、てきとうにやってください(滝汗)。




作業ドキュメントをアクティブにして、目的のテキストフレームを選択してスクリプト実行。
 合番入力を求めてきます。



合番に適合したテキストが流し込まれ、
 背面ドキュメントの使用済みのテキストはM100になります
  あくまでおまけ要素です。



選択ミス、入力ミスなどにより使用済みテキストの合番を再度指定した時は
間違いがないか確認してきます。




以上、2つ説明終わり。
 要は、別に合番の順番通りにコピペしなくてもいいじゃない
目についたテキストフレームを片っ端からやっつけてきゃあいいじゃない
 といった趣旨なわけです。
これにより、流し込み忘れが生じるリスクが発生しますが、少なくともウチの作業所用時間は従来比20%ぐらいに収まるはずです。
 ほんとですよ。 仕事中、ずーっとただ次の番号探してばっかりでしたから。