- ベストアンサー
IllustratorCS3のCollect for Outputでの収集について
- IllustratorCS3に付属のCollect for Outputスクリプトで画像を収集する際に、ファイル名が「00」「000」「0000」という場合、一部のファイルしか収集されない問題が発生しています。
- 収集スクリプトのどの部分を書き換えると、0が続くファイル名でも個別に収集されるようになるのでしょうか?
- DTPをしている私はこの問題に直面しており、初心者のため解決策が分かりません。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず AppleScript のみで書き換えてみました。 最後の collectArtToLocal ルーチンを置き換えてみてください。 on collectArtToLocal(myitems, theFilepath) tell application "Finder" to set myillfilecontainer to container of theFilepath repeat with myitem in myitems tell application "Adobe Illustrator" to set myfile to (file path of myitem) tell application "Finder" set myfilename to (name of myfile) set folderContent to every item of folder myfolder repeat with myFileItem in folderContent if (myfilename = (name of myFileItem)) then set matchFlag to 1 exit repeat else set matchFlag to 0 end if end repeat if (matchFlag = 0) then set mynewfile to (duplicate myfile to myillfilecontainer) end tell end repeat end collectArtToLocal ファイル書き出し先フォルダの全内容といちいち照合して確認していますので、ファイル数が多くなると時間がかかるだろうと思いますが、一応動くはずです。
その他の回答 (3)
- sevenless
- ベストアンサー率66% (374/561)
> 画像収集K このソフトを使って 0.jpg, 00.jpg, 000.jpg が配置されたファイルから収集してみましたが、00.jpg しか回収されませんでした。同じルーチンを使ってそうですね。お使いの方は今まで問題なかったのでしょうか?
お礼
Scriptの書き換えを教えてくださっただけでなく、もうひとつのソフトについても検証していただいてありがとうございます。 私はなぜか画像収集Kが動かなかったので、結局使用できなかったのですが、確かに今まで誰も問題なかったのでしょうかね。 Sevenlessさんに教えていただくまで、色々な所で今回の質問と同じ現象がないかと探しまわったのですが見つけ出せませんでした。 確かに個人で使うなら、あまりこういった問題は起きにくいのかもしれませんが、仕事で使われている方なら同じような問題に直面しているのではないかと思うのですが……。 皆さん、シェアウェアソフトなどを使っておられるのかもしれませんね。 丁寧な回答本当にありがとうございました!
- hinamon2
- ベストアンサー率24% (8/33)
フリーの画像収集Kがオススメです。
お礼
Kはダウンロードしたのですが、なぜか使えませんでした。 うまく認識しなかったんです、また機会があれば試してみます。 教えて下さってありがとうございます。
- sevenless
- ベストアンサー率66% (374/561)
スクリプトの最後から5行目前後 if not ((file myfilename of myillfilecontainer) exists) then set mynewfile to (duplicate myfile to myillfilecontainer) end if の部分に問題があるようです。ここで、取り出したファイルが既に存在するかどうかをチェックしているのですが、どうもこの if file exists の判定にバグがあるようで、0の個数を区別してないみたいですね。0.jpg と 00.jpg, 000.jpg は同じファイルとして認識し、1.jpg, 11.jpg, 111.jpg は違うファイルとして認識します。 http://lists.apple.com/archives/applescript-users/2007/May/msg00063.html で同じ問題が報告されてます。 AppleScript 自体の問題のようなので解決は難しいのですが、 対症療法としては (1)判定をスキップする:上記の部分の if not... の行と end if の行をコメントアウトしてしまうわけです。配置されたファイルが違うものばかりならこれで問題なく動きますが、同名のファイルが2個以上配置されているとエラーが出てスクリプトが停止します。 (2)ファイル名に 0 を含まないようにする:問題が起きるのはとりあえず 0 だけのようなので、配置するファイル名に気をつければ一応回避できます。 根治療法としては (3)別のスクリプト系に書き換える:ファイルの存在確認の部分だけでも perl script などに書き換えて AppleScript から呼び出すようにすれば問題は解決するはずです。
お礼
回答ありがとうございます! 自分のところで作るファイルはなるべく0を含まないようにと、作成していままで回避していたのですが、クライアントからのデータが「0」「00」「000」などで送られてくる事があるので大変困っていたのです。 同名のファイルは書類上に2個以上配置されている事も多々ありますので、(1)の回避方法はとれません。 Perl Scriptは……がんばって勉強してみます。
お礼
出来ましたー!ありがとうございます!! 思ったほど時間もかからなかったので、このScriptを拝借させていただきます。 これでファイル名を細かくチェックしなくても済むようになりました。 本当にありがとうございました! 参考というか、完全に助けていただいてしまいましたが、ずっとわからなかった事が解決してすごくうれしいです!