• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクションで2回以上の「検索と置換」)

Illustrator CS3でアクションの検索と置換が上手く行かない

このQ&Aのポイント
  • Illustrator CS3のアクションで検索と置換を複数回行う処理を登録しても上手く行かない問題が発生しています。ダイアログなしで処理したい場合に手入力が必要となっています。280個のテキストを一括で置換することもできますが、テキストをコピペした都度行いたいという要望もあります。解決方法を教えてください。
  • アクションパネルには最後に入力した検索文字列が引き継がれており、正しく検索と置換が行われない問題が発生しています。アクションでは複数回の検索と置換を行うことができないため、上手く動作しない原因となっています。
  • 280個のテキストを最後に一括で置換することもできますが、作業の便宜上、テキストをコピペした都度に検索と置換を行いたいという要望があります。アクションパネルには最後に入力した検索文字列が引き継がれており、正しい検索と置換が行われない原因となっています。解決方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kawacchi
  • ベストアンサー率83% (26/31)
回答No.3

#1です。 やはり環境が変わるとjavascriptの動作もちょっと違うのですね。 いただいた返信を元に少し変えてみました。うまくいけば良いですが・・・。 var tFrames = activeDocument.textFrames, i, txt; for (i = tFrames.length-1; i >= 0; i-- ) { txt = tFrames[i].contents; if (txt.match('=')) { txt = txt.replace(/ K.*/, ''); tFrames[i].contents = txt.replace(/\=/g, ' '); } }

krkmyk
質問者

お礼

すごいです できました! 今回様々な資料を作っているのですが、作業の効率化のためには簡単なものでもいいから スクリプトを組めたほうがいいことに気付きました。 必要なものから少しづつ勉強していこうと思います。 大変たすかりました。ありがとうございました! ------------------------------ ※質問と関係無くなってしまうのですが(すみません) kawacchiさんの開発環境が[Extendscript toolkit 2] でしたら教えていただきたいのです。 上記のことから[Extendscript toolkit 2]を開いてみたのですが 表示のフォントサイズが小さく、大変見づらかったです。 環境設定のフォントサイズで大きく設定をしても フォント自体の表示サイズはかわらず、行間が広くなったように表示されるだけなのですがこれはいったいどういうことなんでしょうか…

その他の回答 (3)

  • kawacchi
  • ベストアンサー率83% (26/31)
回答No.4

無事動いたようで安心しました。 Extendscript toolkit 2のフォントサイズにつきましては、アイテムの表示欄で選択されている項目に反映されるようです。 それぞれのアイテムを選択してみると、色やサイズが個別に設定されているのがわかります。 全部まとめて選択してから変更しても良いですし、好みに合わせて項目別に変更してみるのも良いですね。

krkmyk
質問者

お礼

そういうことでしたか。 もっときちんと試してみれば良かったです。 お手数をお掛けしてしまいましてすみませんでした。 おかげさまで、分かってるような、分かってないような 頭ですが、簡単なスクリプトを1つ組むことができました。 ありがとうございました。

  • mac1963
  • ベストアンサー率27% (841/3023)
回答No.2

実際に作業行える環境にいないので可能性だけ 別々にアクション制作しておいて二つのアクションを続けて作動させるアクション組んだらどうかな

krkmyk
質問者

お礼

ありがとうございます。 それもはじめに試したのですが、同じ結果でした。 やはり最後に検索されたワードが残ってしまいます。 バグでしょうか…

  • kawacchi
  • ベストアンサー率83% (26/31)
回答No.1

アクションで対応する方法が思いつかなかったので代案になりますが、スクリプトを使うのはどうでしょう? 新規テキストファイルを作成し、下の5行を貼り付け、ファイルの拡張子をjsxに変更すればスクリプトファイルの出来上がりです。 var tFrames = activeDocument.textFrames, i, txt; for (i = tFrames.length-1; i >= 0; i-- ) { txt = tFrames[i].contents; if (txt.match('=')) tFrames[i].contents = txt.replace(/ K.*/, '').replace(/\=/g, ' '); } 参考URLのページによるとMac版CS3ではスクリプトの実行をアクションに登録すると、Illustratorを終了するまでの間はアクションからスクリプトを実行できるそうです。 最初に登録しなければならないのが面倒ですが、登録さえしてしまえばそこそこ効率よく作業できるのではないでしょうか。 当方のWin版CS2でも上記の現象が確認できました。 アクションに登録する場合は、Illustratorを起動する前にjsxファイルをアプリケーションのプリセットフォルダ内のスクリプトフォルダに入れておいてください。 参考URL http://forums.adobe.com/message/1849930 http://d.hatena.ne.jp/kamiseto/20091022/1256215205

krkmyk
質問者

お礼

スクリプトまで組んで頂きありがとうございます。 大事なお時間たくさんんとらせてしまったのではないでしょうか。 ほんとうにありがとうございます。 実行してみたのですが、文字列の後ろの『 K=0』が取れたのみでした…。 実行後は『C=0 M=20 Y=10』のようになります。 しかし、スクリプトをアクションに登録できるということだったので、他スクリプトと他ソフトを併用し、操作性と時短を両立できるすべを探してみます。 私もjavascriptが出来たならもっと楽になるのになぁといつも思います。