InDesignスクリプトアイコン

インデザインの作業効率が大アップ!?色々なシーンでその場にあったペーストをするスクリプト「ナイスペースト.jsx」

ペースト機能、、作業中どれくらい使用しますか? そんな時に皆さんはindesignで「グリッドフレームを適用せずペースト」がメンドくせぇ。今ペーストしたテキストをインラインオブジェクトにサッサとペーストしたい。なんで全選択して「フォーマットなしでペースト」したのに、フレームを選択したら文字サイズが空白なんだ! とか思ったことはありませんか? そこで便利なのがコンカイ紹介する「ナイスペースト.jsx」です!


※このスクリプトの大部分はMacでは動作しません!申し訳ない!
2017年1月16日、Macintoshにも対応しました。詳しくは コチラ

今の状態を見極めて最適なペーストを実行

機能を羅列すると

  1. フレーム選択・テキスト選択のときは選択中の属性を引き継ぎつつ文字を入れ替える
  2. 選択したグループ内の1つめのテキストフレームに1.の処理
  3. フレームグリッド内にカーソルがあれば、グリッドフォーマットを無視してペーストを実行
  4. 選択しているテキストがアンカーオブジェクトで尚且つ、テキストフレームが含まれているならばそのテキストフレームに1.の処理
  5. 選択しているテキストがアンカーオブジェクトで尚且つ、テキストフレームが含まれていてさらにセルがあるならば、4.の処理より優先的にそのセルに対して1.の処理
  6. セルを選択(一つ)・セル内のの全文字を選択のときは属性を引き継ぎつつ文字を入れ替える
  7. セルを複数選択、コピーされたテキストと区切りが一致するならば選択されたセル群に6.の処理
  8. 上記以外は通常のペーストを行う

機能1.は「フォーマットなしでペースト」と同じですが、フレーム全体のプロパティをそのままに保って、文字サイズが空白などを防ぎます。

機能2.はグループを選択しても1.の処理しますよーと

機能3.は「グリッドフレームを適用せずペースト」すべき事態を自動で検知します。

機能4.はアンカーオブジェクトへのペーストを親フレームのテキスト選択で行うものです。

例えば下記のようなテキストがあり、「項目」というテキストを左のアンカーオブジェクトにペーストしたい場合、

まずテキストをカットする

まず、「項目」をカットし、次にそのままアンカーオブジェクトがあるテキストを選択する

インラインオブジェクトのあるテキスト範囲を選択する

つぎに「ナイスペースト.jsx」を実行!

ナイスペーストでインラインオブジェクトにペーストされる

すると、選択したテキストのアンカーオブジェクトの第1テキストフレームにカットしたテキストがペーストされます。

機能5.は4.の処理のテーブル(セル)版です。一つ目のセルに対して行います。

機能6.は1.の処理のテーブル(セル)版です。空白は生みません。

機能7.はあまり役に立たないかもしれません。テーブル(セル)に対してExcelからのペーストを想定してます。

機能8.は通常です。それ以上のそれ以下です。

スポンサーリンク

テキストは同一の属性が望ましい

ちなみに選択したテキストの属性が同一でない場合は、少しややこしいことになります。

例えば下記の文字列を選択して、

あああうううう

「ええええおおおお」をナイスペーストしたとすると、下記のような結果とあいなります。

えええおおおお

つまり同じ位置の文字に同じ属性が適用されるわけです。属性がバラバラのテキストにはあんまり使わないって感じですかね?

本物のペーストに取って代わって、「Ctrl+V」ってほどでもないので、「Alt+V」でナイスに使ってます!ダウンロードページはこちらです!

便利だと思う度 ★★★★☆
Macの人は… ★☆☆☆☆

スポンサーリンク

スポンサーリンク

インデザインの作業効率が大アップ!?色々なシーンでその場にあったペーストをするスクリプト「ナイスペースト.jsx」」への6件のフィードバック

  1. これって、MacのCS6でも対応しているのでしょうか?
    使おうと思ったら、エラーが出て使えませんでした。

    1. 開発環境はWindowsのCS6です。
      Macの実機が今、手元にないので、
      今すぐに対応するのは難しいかもしれません。
      申し訳ありません。

      1~7のどのペースト動作にエラーが出るのかと、
      エラーメッセージがも(あれば)教えて欲しいです。
      よろしくお願いします。

      ん、よくソースを見ればtry処理してませんね、、、

    2. え~、結論から申し上げますと、
      Macintoshではほとんどの機能が使用できません。
      これはクリップボード機能に起因するものでありまして、
      クリップボードのテキストを変数に取得するためにVBScriptをjsxから呼び出していました。
      なので、現状Macintoshには対応できませんでした、すみませんです。

      お詫びのページも作成したので、そちらもどうぞご覧ください。

  2. Mac対応ありがとうございます!!
    テキストフレーム1のテキストをコピーして、テキストフレーム2の選択部分にペーストした際、テキストフレーム1の段落&文字スタイルが適用されてペーストされるのですが、これで正常なのでしょうか?
    MacのOS10.10でInDesignCC2017でこのスクリプトを使用しました。

    1. ご使用ありがとうございます!

      動作的には正常と思いますが、効能的には?ですね。
      1.の機能が働いていないことになります。

      コード見直してみます、、、、。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です