Illstratorのスクリプトでの文字変換について質問です。

下記サイトを元にIllstratorのテキストの
一部書体変換を行おうかと検討中です。
http://www.openspc2.org/projectX/Illustrator/0003/index.html

複数選択した際に、画像などテキストオブジェクト以外を選択していた場合
「オブジェクトではありません」とエラーとなってしまいます。

エラーにならない方法はありますでしょうか?
try { }catch(e){}
なのかなと試してみましたができませんでした・・

どうぞよろしくお願いいたします。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2012/02/05 00:40:37
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.1

回答回数4974ベストアンサー獲得回数2154

ポイント300pt

こんな感じで、駄目なんでしょうか?

fntArialBlack = app.textFonts.getByName("Arial-Black");
repStr = "0123456789";
sel = activeDocument.selection;
for (j=0; j<sel.length; j++)
{
    selObj = sel[j];

    try {               // ★ここと

        for (i=0; i<selObj.textSelection[0].characters.length; i++)
        {
            c = selObj.textSelection[0].characters[i].contents;
            if (repStr.indexOf(c) > -1)
            {
                selObj.textSelection[0].characters[i].textFont = fntArialBlack;
            }
        }

    } catch (e) {}      // ★ここ
}

「テキストの一部」というのが、選択したオブジェクトだけを対象にする、ということであれば、
http://www.openspc2.org/book/IllustratorCS/easy/039/index.html
ここのコードでも、いけそうな気がします。

timesBold = app.textFonts.getByName("Times-Bold");
sel = activeDocument.selection;
for (i=0; i<sel.length; i++)
{
    try {               // ★ここと
        sel[i].textSelection[0].textFont = timesBold;
    } catch(e) {}       // ★ここ
}

質問であげられたページでは、

日本語書体の場合は"ヒラギノ角ゴW3"などと指定せずに英文字で指定するようにしてください。

と、注意書きがありますが、これに関しては大丈夫ですか?

http://www.openspc2.org/book/IllustratorCS/easy/039/index.html
には、主なフォントの英文字の対応が載っているので、参考になるかもしれません。

id:ohtsu6

a-kuma3さま
ありがとうございます!
できました。

2012/02/05 00:40:27

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません