タブを...や___など任意の文字列に置換するサンプルです。Illustrator CS/CS2では文字列の一致検索や置換処理に正規表現(正則表現)を利用することができます。正規表現を使ってタブコードを特定の文字に置換します。
以下のサンプルは文字列の最初に現れたタブを...に置換します。使い方は、置換対象となるテキストブロックを選択してからスクリプトを実行します。複数のテキストブロックを選択して処理できるようになっています。
以下のサンプルは文字列の最初に現れたタブを...に置換します。使い方は、置換対象となるテキストブロックを選択してからスクリプトを実行します。複数のテキストブロックを選択して処理できるようになっています。
sel = activeDocument.selection;
for (i=0; i< sel.length; i++)
{
selObj = sel[i];
if(selObj.typename == "TextFrame")
{
reg = new RegExp(String.fromCharCode(9));
selText = selObj.contents;
selObj.contents = selText.replace(reg, "...");
}
}
上記のサンプルでは最初に現れたタブコードしか置換しないため、複数行にあるタブコードを置換する場合には以下のサンプルを使ってください。
regExp()の2番目に"g"を指定すると全文が対象になります。
sel = activeDocument.selection;
for (i=0; i< sel.length; i++)
{
selObj = sel[i];
if(selObj.typename == "TextFrame")
{
reg = new RegExp(String.fromCharCode(9), "g");
selText = selObj.contents;
selObj.contents = selText.replace(reg, "...");
}
}
...ではなく任意の文字列に置換したい場合もあるでしょう。その場合は入力ダイアログを表示して、そこに置換したい文字列を指定します。以下が実際のサンプルです。入力ダイアログはIllustrator CS以降でしか利用できません。残念ながらIllustrator 10では駄目です。
str = prompt("文字を入れてください", "...");
sel = activeDocument.selection;
for (i=0; i< sel.length; i++)
{
selObj = sel[i];
if(selObj.typename == "TextFrame")
{
reg = new RegExp(String.fromCharCode(9), "g");
selText = selObj.contents;
selObj.contents = selText.replace(reg, str);
}
}
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
Final Cut Studio 3が欲しいなあ。Motion 3だけでもいいんだけど。
使いたいソフトの発売が来月に集中しているから大変・・・
for (i=0; i< sel.length; i++)
{
selObj = sel[i];
if(selObj.typename == "TextFrame")
{
reg = new RegExp(String.fromCharCode(9));
selText = selObj.contents;
selObj.contents = selText.replace(reg, "...");
}
}
上記のサンプルでは最初に現れたタブコードしか置換しないため、複数行にあるタブコードを置換する場合には以下のサンプルを使ってください。
regExp()の2番目に"g"を指定すると全文が対象になります。
sel = activeDocument.selection;
for (i=0; i< sel.length; i++)
{
selObj = sel[i];
if(selObj.typename == "TextFrame")
{
reg = new RegExp(String.fromCharCode(9), "g");
selText = selObj.contents;
selObj.contents = selText.replace(reg, "...");
}
}
...ではなく任意の文字列に置換したい場合もあるでしょう。その場合は入力ダイアログを表示して、そこに置換したい文字列を指定します。以下が実際のサンプルです。入力ダイアログはIllustrator CS以降でしか利用できません。残念ながらIllustrator 10では駄目です。
str = prompt("文字を入れてください", "...");
sel = activeDocument.selection;
for (i=0; i< sel.length; i++)
{
selObj = sel[i];
if(selObj.typename == "TextFrame")
{
reg = new RegExp(String.fromCharCode(9), "g");
selText = selObj.contents;
selObj.contents = selText.replace(reg, str);
}
}
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
Final Cut Studio 3が欲しいなあ。Motion 3だけでもいいんだけど。
使いたいソフトの発売が来月に集中しているから大変・・・
- ActionScript逆引きクイックリファレンス―5&MX&MX2004&8対応 for Windows & Macintosh
- 田中 康博 古籏 一浩 林 拓也
- 毎日コミュニケーションズ 2005-12
- おすすめ平均
- Flash(ActionScript)の開発前の調査にも役立ちます
- 良書です。
- 改訂第4版 JavaScript ポケットリファレンス
- 古籏 一浩
- 技術評論社 2006-10-18
- おすすめ平均
- JavaScript仮免者以上の方へ
- バランスの良いバイブル
- 中級者向けです。
by G-Tools , 2007/05/28