お仕事でレイヤーの表示/非表示で作りわけたデータをJPEGに書き出すっていうのがあって場当たり的に書いたもの。
最初は手でやってたんだけどTwitterで「間違えたら嫌だからスクリプト書く」って意見があったので、それもそうだなーと思い直して、ちょっと書いたみたって感じ。
こんな仕事する人、いるのかな?
<仕様>
- どのJPEGにも必要なオブジェクトは表示レイヤーに入れてある
- レイヤーごとに必要なオブジェクトが格納されている
- レイヤーの表示のオン/オフで書き出すJPEGを決める
- JPEGの名前はレイヤー名から取得
- エラー処理はすっとばす
デモ動画はこちら
--保存場所を決める set filePath to choose folder with prompt "保存するフォルダを選択してください" as string --ここからIllustratorの処理 tell application "Adobe Illustrator" activate set myDoc to document 1 tell myDoc --非表示レイヤーをリスト化して変数へ set visibleFalseLayer_list to every layer whose visible is false end tell --非表示レイヤーの数だけ繰り返す repeat with a from 1 to count of visibleFalseLayer_list tell myDoc set currentLayer to item a of visibleFalseLayer_list --処理用に代入 set visible of currentLayer to true --レイヤーを表示状態に set myLayerName to name of currentLayer set newFilePath to filePath & myLayerName & ".jpg" as string --保存ファイル名を代入 end tell export myDoc to newFilePath as JPEG with options {class:JPEG export options, quality:100, vertical scaling:200.0, horizontal scaling:200.0, matte color:{red:255, green:255, blue:255}} --vertical scaling:200.0は書き出す倍率(vertical scaling:200.0は縦方向に200%) --quality:100はJPEGの品質(quality:100はダイアログの10の品質) --matte color:{red:255, green:255, blue:255}はRGBってことだと思う? tell myDoc set visible of currentLayer to false --再度非表示にする end tell end repeat end tell activate display dialog ((count of visibleFalseLayer_list) as string) & "ファイル書き出しました"
ダウンロードは下記。