DTP作業者にとっての難易度 ★★☆☆☆(2)
データ結合機能を使って文字を表に読み込んだ場合や、Excelのデータをコピー&ペーストして表を作成した場合、不要な行(空のセルが存在する行)が発生してしまうことがあります。このような行を素早く削除するためのJavaScriptを書いてみました。
以下、動画をご覧ください。
※アクティブなレイヤーに存在する表のみが対象になります。
※グループに含まれる表は対象となっていません。お手数ですがグループを解除してから実行してください。
※表に結合セルが含まれている場合は正しく動作しません。
サンプルデータもありますので必要な方はお試しください。
サンプルデータはこちら《minimum_2014_0328b.zip》です(CS4以降)。
一つ質問があります。
CSVデータを「データ結合」機能を使い、表の各セルに流し込みしました。不要な部分がありますので自動で削除したいのですが、うまくいきません。
表のセルには何も入っておらずテキストエディタで開いても特に改行などのコードは入っていないです。
対象の部分のセルを選択し、Deleteを押してスクリプトを実行するとうまくいきます。
何かご存じでしたら教えてください。
よろしくお願いします。
コメントありがとうございます。
恥ずかしながら私はあまりプログラムなどに詳しくない人間で、お役に立てないかもしれません。
私の思いつくのは、市川せうぞーさんがお書きになった
「謎の制御文字を一括削除したい」がセルに含まれているのではないか……ということぐらいです。
http://dtp-bbs.com/mt/indesignbbs/archives/6595_20120308094655.html
(私の経験ではデータ結合でこの「謎の制御文字」がセルに読み込まれました。)
この「謎の制御文字」が存在すると、そのセルは空だと認識されないかもしれません。
試しにInDesignの「検索と置換」ダイアログ→「テキスト」で「検索文字列」欄に「<FEFF>」と入力、「置換文字列」欄は空白のままで置換を実行してみてください。
余談ですが、この「謎の制御文字」は、タブを含む行の行揃えを乱すなど、得体のしれない悪さをすることがあるように思います。
私は、Wordのテキストを読み込んだ際なども
念のために「謎の制御文字」を削除する検索/置換を実行することにしています。
>試しにInDesignの「検索と置換」ダイアログ→「テキスト」で「検索文字列」欄に「<FEFF>」と入力、「置換文字列」欄は空白のままで置換を実行してみてください。
上記手順で不要な表削除まで動きました。
ありがとうございます^^
表のセルの列で一部だけ空がある場合、削除を実行したくないのですが可能でしょうか?
よろしくお願いします。
1 りんご もも なし ←OK
2 りんご なし ←これも残したい
3 ←これは消したい
コメントに気付かず失礼しました。
サンプルファイルの中の
「B-すべてが空セルなら行ごと削除.jsx」は
そのような動作を目指したつもりですが、
うまくいきませんでしょうか?
製作者様ありがとうございます。
表に結合したセルが混じっているとエラー45が返ってきます。
他にも同じく悩んでいる人がいるかもしれないので足跡を残しておきます。
作業環境はCCです。
失礼しました。
コメントをありがとうございます。
ご指摘の通り、このスクリプトはセル結合を想定したものではありませんでした。
本文中に注釈を追加しておきます。