メイン

2006年12月20日

とても久しぶりなスクリプトの新作です。
レイヤー別に保存・書出し」というのを作りました。
一つのファイルの中の、レイヤーひとつひとつを別々のファイルとして新規フォルダ内に書き出すというものです。ファイル形式ととしてai、eps、pdf、jpg、gifなどなどを選べます。

今回、設定項目をいろいろと選択できるようにするにあたって、ダイアログは使わない方式にしました。
これは、バージョン10ではダイアログが使えないので書き分けが面倒だということもありますが、設定の使いまわしがきくようにというのが大きな理由です。
一度つくった設定テキストをほかのファイルにペーストすれば、そのまま同じ設定で書き出しをしてくれるので、その都度ダイアログのボックスに入力していくよりも楽なのではないかと思っています。今後、この「ファイル上に設定テキストを作る」という方式をつかったスクリプトをいくつか予定しています。

年内に新作をもう一点アップします。ハガキの宛名をテキスト流し込みで自動作成&一括印刷するというもので、年賀状シーズンに間に合わせたかったんですが、ああ、なんだかもうすっかり手遅れ……。せめて、毎年出すのが遅い方(僕とか)や、年が明けてから出す習慣の方に使っていただければさいわいです。ではまた近日中に。

トラックバック

コメント

投稿者 s.h : 2006年12月25日 20:59

こんばんは。
D:\test というフォルダの中の .ai ファイルをいくつか開いて実行してみました。
(windows2000 SP4、CS 11.0.1 )
.ai 形式は正常に書き出されたのですが、
PDF 形式では以下のようなエラーが出ます。ファイルによって出るエラーが違います。

Error 1200:an Illustrator error occured:1346458189 ('PARM')
Line: 130 -> activeDocument.layers[i].locked = true;

Error 2: bCount is undefined.
Line 146 -> else {bCount ++}

Error 12000:an Illustrator error occured:1346458189 ('PARM')
Line: 134 -> else{activeDocument.layers[1].remove() }

書き出し設定は、最初のテキストで PDF の前に * を移した以外はデフォルトです。
スクリプトの中を少し見てみましたが、.ai と .pdf で同じ処理を
しているようなのに、何で PDF だけエラーが出るのか不思議です。
何か仕様が絡んでいるんでしょうか?

ともあれ、ダイアログを使わない形式は面白いですね。
PCによっては、スクリプトでダイアログを開く(閉じる)時に異様に時間が
かかる場合があるので、これは AI10 でなくても役立ちそうです。

投稿者 倉田タカシ : 2006年12月27日 00:32

お知らせありがとうございます。とても助かります。
PDFのときだけエラーが出たというのがなんとも気になりますが、とりあえず2つめのエラーメッセージはWin+CS2でも再現されて原因が分かりましたので、修正ファイルをアップしました。…お気づきと思いますが、変数名の宣言し忘れでした(しかし、ここ、なぜかバージョン10ではエラーが出ないのです)。
1つめと3つめは、悩んでいる最中です。CS2では再現できませんでした。s.hさんが試されたとき、レイヤーのロック状態はどうだったでしょうか?

操作のややこしいスクリプトは、使用法の説明もどんどんテキストオブジェクトで出してしまえばいいのではないかと思い始めています。とはいえ、CSでは日本語表示の問題が……
ダイアログは、保存先の指定にだけ使うのもいいかなと思っていましたが、時間がかかるというのはちょっとネックですね。

投稿者 greenbee : 2006年12月30日 02:20

“ハガキの宛名をテキスト流し込みで自動作成&一括印刷”!★☆
まさしくコレ!これを探していました。
(もちろん(?)年賀状用です(>_<))
楽しみに待ってます。
アップ、どうかどうかよろしくおねがいします。m(_ _)m

投稿者 倉田タカシ : 2006年12月30日 23:11

greenbee様、遅くなりましたが、「ハガキ宛名の作成・印刷」をアップしましたのでお試しください。不具合がありましたら、お知らせいただければ幸いです。
多重投稿で重複したコメントはこちらで削除させていただきました。あいかわらずエラー画面がでるようになっていて、投稿したかどうかが分からない状態で、ご迷惑をおかけしてしまいました。