セルのコンテンツが特定の文字列の場合に、セルの塗りを設定する

本題の前に。

Adobe Forum Realで「Illustrator CC2018で1bit TIFF画像を貼り付けて回転を掛けたら意図しないベタ部分が表示される」という相談をされた方、もし見てらっしゃったら

https://forums.adobe.com/thread/2419609

を見てください。この件はバグです。

またIllustrator CC2018には次のようなバグも発覚しています。

パスのアウトラインで始点側のパスの線端が欠ける

仕事ではCC2018はまだ使えません。CC2017を使ってください。


さて本題です。前のエントリにもありますが、Adobe Forum Realで受けた「セルのコンテンツが特定の文字列の場合に、セルの塗りを設定したい」という相談で、それを解決するスクリプトを書きました。

フォーラムで回答いただいた皆さん、ありがとうございました。これからも「アプリケーション自動化総合フォーラム」をよろしくお願いします。

で、できあがったコードについては

https://forums.adobe.com/thread/2419285

をご確認ください。

今気づいたのですが、ファイル選択ダイアログでキャンセルされた時の処理が抜けてます(ダウンロードするものも同じです。そのうち直すので、ファイル選択ダイアログではキャンセルしないでください(^^;

ここでは「コードを書かれてもわからん、使い方を知りたい」という方向けに解説したいと思います。

CS6とCC2017で確認しています。

1.準備

まず、私のサイトから次のファイルをダウンロードします。

http://indesign.cs5.xyz/idjs/cellcolor.zip

これを解凍すると次のファイルができます。

  • cellcolor.jsx 既に入力が完了している場合に使うスクリプト
  • cellcolor_start.jsx 入力中に塗りを自動設定したい場合に使うスクリプト(開始)
  • cellcolor_stop.jsx 入力中に塗りを自動設定したい場合に使うスクリプト(終了)
  • sample.indd このブログで使用したサンプル(InDesign CS6)
  • sample1.txt~sample4.txt このブログで使用した設定用テキストファイル

これらのうち「cellcolor.jsx「cellcolor_start.jsx「cellcolor_stop.jsx」はスクリプトパネルから起動するので[Scripts Panel]フォルダに入れてください。

フォルダの場所が分からない人は、スクリプトパネル内「ユーザー」をクリックしてメニューから「Finderで表示」または「エクスプローラーで表示」をクリックすると開きます。

それ以外のファイルはどこにあっても構いません。

2.設定ファイルの変更

実際に使うときは先に設定ファイルを変更しておく必要があります。設定ファイルの例としてsample1.txt~sample4.txtを用意していますので、適当に名前と中身を変えてください。詳しくはサンプルを見てください(おいおい)

3.実行

A.既に入力が完了している場合

テキストフレームを選択するか、表中に文字カーソルを立てます。

テキストフレームの場合は1つだけ選択してください。そのテキストフレームの親ストーリー全体に対して実行しますので、表が複数ページにまたがっていたり、複数の表があっても全て実行します。

個別の表に対して実行したい場合は、表を選択してもよいですし、表中のどこかに文字カーソルを立っていれば実行します。

その状態でスクリプトパネルの「cellcolor.jsx」をダブルクリックしてください。

スクリプトが実行されて、設定ファイルを指定するダイアログが出ます。ここで設定ファイルを選択すれば、その情報にしたがってセルに塗りが設定されます。

B.入力中に塗りを自動設定したい場合

スクリプトパネルの「cellcolor_start.jsx」をダブルクリックしてください。設定ファイルを指定するダイアログが出ますので設定ファイルを選択してください。

あとはいつも通り入力するだけです。

止めたいときは「cellcolor_stop.jsx」のほうをダブルクリックしてください。何もメッセージが出ませんが、塗りの自動設定を終了します。

重要

塗りの自動設定を行っている最中は、別のドキュメントを開いたり閉じたりしないでください。スウォッチの情報を取得して実行していますので、ドキュメントが切り替わったときに、同じ名前のスウォッチがないとエラーになる可能性があります。

4.使用例

印刷会社の人はテキスト支給だったりするので「入力中に自動設定」を使うことはあまりないと思います。

やったみて分かったのが、セルの属性の一部のみをコピーするって結構難しいし、セルスタイルをいくつも作るのは、慣れない人でないと厳しいのかも。だったらこれもありかも知れない、ということです。

使いどころとしては次のような感じかな。

↑吹奏楽コンクールではおなじみ

↑順番よりも得点の方か一般的かな?

↑シフト表とか(InDesignで作るか?)

↑適当

ま、こんな感じで意外とあるかも。

ということで終わりなんですが、大元の質問者さんとは名刺交換してなかったような。もし見てくれたらコメントください!


12月14日 追記

設定ファイルを指定するダイアログで「キャンセル」ボタンをクリックするとエラーが出ていたのを修正し、再アップしました。すでにダウンロードされている方は、再度ダウンロードをお願いします(変更されているのは「cellcolor.jsx「cellcolor_start.jsx」の2ファイルです)