DTP作業者にとっての難易度 ★★☆☆☆(2)
表組み作成では文字量の多いセルが丸ごと次ページ(あるいは次段)に送られ、前ページ下部に広いスペースが残ってしまうケースがあります。このような時に「セルを分割してテキスト前半は前ページ、後半は後ページに収めたい」ということは多々あるのではないでしょうか。
これまで私は空のセルを用意し、そこにテキストの一部をカット&ペーストすることでこれを実現してきました。しかし「カット&コピーしすぎた」ということもあれば「あと何行か(何文字か)は入りそうだな」ということもあり、試行錯誤でけっこうな時間を費やすことになっていました。
そこで今回は、この作業を効率化するスクリプトを書いてみました。
※表組みやテキストの設定や状況により必要となる作業は変わるため、今回は最低限の作業のみを自動化するスクリプトに留めました。工夫してお使いください。
スクリプトの使い方
【1】分割したいセル(を含む行)の上に行を1つ追加します。空セルだけで構成された行です。
※空セルだけで構成された行は前ページに収まると思います。
【2】分割したい大きなセルと、その上の空セル(前ページにある空セル)の2つを同時に選択します。
【3】スクリプトを実行します。
スクリプトを実行すると「後セルの最初の文字を前セル末尾に複製」→「複製元だった後セルの最初の文字を削除」を繰り返します。1文字ずつの処理なので文字数が多いと少し時間がかかるかもしれません。
※分割したい大きなセルが2つ以上ある場合、1つずつ作業してください。
〈20240905追記〉「1文字ずつの処理なので文字数が多いと少し時間がかかるかもしれません。」について
少しでも時間を短縮したい場合は「明らかに前セルに収まるであろう段落や文字」を手動で後セル→前セルにコピペしてからスクリプトを実行するという方法があります。注意点としては「段落末の改行マークは削除しないこと」です。よく分からない方は避けたほうがいいでしょう。
以下、動画をご覧ください。
使用にあたっての注意点など
動画内では字下げ(アキ量設定)や箇条書きについて手動による作業が必要となることを紹介しましたが、他にも
・インデント
・ハイフネーション
・分離禁止
など必要な作業が発生するケースがいろいろ考えられます。また、アンカー付きオブジェクトや特殊文字(マーカーなど)を使用している際は何らかの問題が生じるかもしれません。スクリプト実行後は慎重に文字組み体裁を観察し、必要な作業をおこなってください。
また、スクリプトを実行する前には必ずドキュメントのバックアップをとるようお願いします。
※なお、本スクリプトではセルの位置を確認するために「環境設定 > 単位と増減値 > 定規の単位 > 開始位置」を一時的に「スプレッド」に変更します。スクリプト完了時に元の設定に戻しますが、何らかのエラーでスクリプトが途中で止まった時などは設定が「スプレッド」のままになっている可能性がありますのでご確認ください。
サンプルデータはこちら《split_cells_240904c.zip》です。