表中の色の変更がしたい
置換機能を利用して表中の塗りや線、テキストの色を変更することは可能でしょうか?
多数のドキュメントを一括して変更したいので、
置換機能が最適化と考えました。
それとも、置換機能を使って変更できるのは、オブジェクトの状態でないと無理でしょうか?
また、無理な場合、そんな処理ができるスクリプトなど、ないでしょうか?
置換機能を利用して表中の塗りや線、テキストの色を変更することは可能でしょうか?
多数のドキュメントを一括して変更したいので、
置換機能が最適化と考えました。
それとも、置換機能を使って変更できるのは、オブジェクトの状態でないと無理でしょうか?
また、無理な場合、そんな処理ができるスクリプトなど、ないでしょうか?
ご返信ありがとうございます。
まず、ご提案いただいた内容、確認させていただきました。
表には、表スタイルも、段落・文字スタイルなど、一切スタイルシート的な機能を使用していませんでした。
スウォッチの置換での対応は全て可能でした。
リスクとしてあげていただいた、表以外の場所という部分も大丈夫でした。
スウォッチを変えても濃度変更ができないことについても、
置き換える色を2種類にすることで、対応可能でした。
実際としては:
スウォッチNAME:A〜Lを、C100に置換し、
スウォッチNAME:X〜Zを、M100Y100に置換すれば完了です。
この処理を開いているinddを一気に処理したいです。
ただ、データ上にはC100とM100Y100のスウォッチが存在していないので、
その2色のスウォッチを設定するところからスタートすれば、
1ファイルにつきこの2処理を行うだけで問題なく進みました。
あとは、一気にファイルを開いて”すべてのドキュメント”に対して処理できれば、満足です。
長々と、こまごまとすいません。
何か、ご教示いただけると、助かります。
よろしくお願いします。
スウォッチのカラー変更ですが、以下のような書き方で可能です。
app.activeDocument.swatches[4].colorValue = [100,0,0,0];
上記の右辺はCMYKのカラー値の配列として与えます。この例ではスウォッチの5番目の項目をC100に再指定しています。ここで名称がわかっているならば以下のように出来ます。
app.activeDocument.swatches.itemByName("変更したいカラーの名前").colorValue = [100,0,0,0];
この例では「変更したいカラーの名前」というスウォッチのカラー値をC100に変更します。この形で必要なカラーを変更するスクリプトが書けます。
あとはドキュメント毎に繰り返すためにforループを利用しましょう。
この様に基本的には単純な機能と繰り返し処理でスウォッチの変更は可能です。また、新しい項目を生成して入れ替えることも可能です。スクリプトを利用すると手作業を延々と繰り返す事から開放される事はご存知かと思います。
この機会に学ばれてはいかがでしょう。
また、スクリプトについての質問は以下のフォーラムを利用可能です。ぜひご利用いただきたいと思います。
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.