Adobe Illustrator CC 2018(バージョン22.1)で、オープン中の(複数のアートボードを持つ)書類を、アートボード単位で別書類に分けるAppleScriptの改修版です。
書類は(とりあえず)デスクトップに書き込まれます。前バージョンのように、アートボード外のオブジェクトが残るといったことはありません。
「exportSelectedArtwork」という長いコマンドを見つけて、ためしてみたら期待どおりの挙動であったために使ってみました。
……すると、なおのことAppleScriptからartworkのselectができないのか?(実行すると100% Illustratorがクラッシュする) artworkからnameの取得ができないのか?(実行するとエラーになる)というあたりが謎です。
artboardも選択状態になっている(はず)だと思って、そのまま実行してみたところ、artboardのサイズでは書き出されていないようです。少し別の方法を試す必要があり、自分は前バージョンのScriptにもどって作業を行っています。
AppleScript名:オープン中のIllustrator書類をartboardごとに分割 v3.scptd |
— – Created by: Takaaki Naganoya – Created on: 2018/08/07 – Modified on: 2018/08/09 – Copyright © 2018 Piyomaru Software, All Rights Reserved — use AppleScript version "2.5" — El Capitan (10.11) or later use framework "Foundation" use scripting additions set dPath to (path to desktop) as string set namesList to {} tell application "Adobe Illustrator" tell front document set aCount to count every artboard set aPath to (file path) as string end tell repeat with i from 1 to aCount set aName to getArtboardName(i – 1) of me –index base correction (1 –> 0) set outPath to dPath & aName & ".ai" selectArtboard(i – 1) of me –index base correction (1 –> 0) tell front document selectobjectsonactiveartboard exportSelectedArtwork to file outPath end tell end repeat end tell –https://lists.apple.com/archives/applescript-users/2015/Jul/msg00104.html on selectArtboard(theArtboardIndex as string) tell application "Adobe Illustrator" tell front document –Index is 0 based do javascript ("app.activeDocument.artboards.setActiveArtboardIndex(" & theArtboardIndex & ")") end tell end tell end selectArtboard on getArtboardName(theArtboardIndex as string) tell application "Adobe Illustrator" tell front document –Index is 0 based do javascript ("app.activeDocument.artboards[" & theArtboardIndex & "].name") end tell end tell end getArtboardName |
More from my site
(Visited 113 times, 1 visits today)