プログラムの開発をしていると,技術や経験は個人に蓄積していきます。役立つ資料や道具のありかもしかりです。しかし自分の頭の中にあるだけの状態より,誰でもその情報にアクセスできたほうが世界はもっと良くなるでしょう。
そこで今回は,普段IllustratorでExtendScriptなどのスクリプトを書くときに使っている資料やWebサービスを公開します。
目次
Adobe公式資料
■ Adobe Illustrator Scripting Reference
Illustratorのアプリや書類を操作するときに参照する資料(PDF)です。AppleScript・VBScript・JavaScript(ExtendScript | Cross Platform)の3種類あります。
2022年現在,PDFはadobe.ioの内部コンテンツです。ログインしてダウンロードしてください。
■ JavaScript Tools Guide
JavaScript(ExtendScript)で,Adobeアプリ共通機能を操作するのに参照する資料(PDF)です。例えば次のような項目があります。
- File System(File/Folder)
- UnitValue(単位換算)
- XML(XMLオブジェクトのメソッド/プロパティなど)
- ScriptUI(ダイアログ/パネル/ウインドウ)
- BridgeTalk(アプリ間通信)
- Dollar($) objects(言語ローカライズ/スクリプト自身のパスなど)
- ExternalObject(webaccesslib/AdobeXMPScript)
ExtendScript Toolkitをインストールすると付いてくるほか,GitHubなどからダウンロードできます。古くても内容はほぼ同じです。古いほうが文字をコピーできて楽かもしれません。
- CEP-Resources > ExtendScript-Toolkit > Guides > JavaScript Tools Guide CC.pdf | GitHub
- JavaScript Tools Guide CS5 | Adobe
■ Illustrator SDK
基本的にはプラグイン(C++)用の開発キットですが,中にはスクリプトの参考になる資料もあります。
- AIMenuCommandString.h(executeMenuCommand関連)
- AIPreferenceKeys.h(getIntegerPreferenceなど関連)
- AIToolNames.h(selectTool関連)
Scripting Referenceと同じ場所にある,adobe.ioの内部コンテンツです。ログインしてダウンロードしてください。
■ オブジェクトモデルビューア(omv.xml)
Scripting Referenceにない項目について記述が見つかることがあります。例えばexportForScreensの引数などです。
ExtendScript Toolkitに付属していて,macOSの場合ヘルプメニューから参照できます。残念ながらExtendScript Debugger Extension for Visual Studio Codeには引き継がれていません。もし見たいときはomv.xmlファイルを直接開いてください。次に示す場所のあたりにバージョンごとに置いてあります。
macOS:
/Library/Application Support/Adobe/Scripting Dictionaries CC/Illustrator 2021/omv.xml
目的別資料
■ JavaScript自体のメソッドやプロパティについて知りたい
ArrayやString・RegExpなどJavaScriptが管轄するオブジェクトについて調べたい場合,MDN Web Docs(Mozilla Developer Network)を参照するとわかりやすいです。
ExtendScriptはES3という古いバージョンを基にしているため,Array.map()など存在しないメソッドが散見されます。そんなときはMDNのポリフィルの項目を見てください。古い環境でそれを再現するコードが載っています。
■ app.executeMenuCommand(menuCommandString) について知りたい
Illustratorのメニューを実行するメソッドです。menuCommandString検索用にNotionのデータベースを作りましたので,ぜひご参照ください。
Adobe Support CommunityフォーラムにてJosh Duncan(jduncan)さんやkrasnovproさんもデータベースを公開しています。
Ten Aさんがヘルパースクリプトを公開しています。app.executeMenuCommand(aiMenu.file.new) のようにパスを指定して実行できます。
menuCommandStringはこんな風に調べられます。
- Illustrator SDKのAIMenuCommandString.hを参照する
- Illustrator 初期設定.kysをテキストエディタで開く
- [メニュー項目を挿入]アクションで対象メニューを記録&ファイルとして保存し,そのaiaファイルをテキストエディタで開く
■ Illustratorの各メニューを外国語で何と呼ぶか知りたい
スクリプトは概ね英語の単語でできているため,Illustratorのメニュー名を日本語・英語で何と表現しているかわかれば内容を理解しやすくなります。
スプレッドシートサービスRowsで,複数の言語のメニュー名対照表を作りました。ぜひご参照ください。
この表はMonika Gauseさんが制作した対照表の派生物です。許可を得て作っています。何と12か国語分あります。
■ Preferences.getIntegerPreference(preferenceKey) について知りたい
Illustratorの環境設定(Preferences)をget/setするメソッドです。対象の型によってメソッドを使い分けます。
対象の型 | get | set |
---|---|---|
Boolean | getBooleanPreference(key) | setBooleanPreference(key, value) |
Integer | getIntegerPreference(key) | setIntegerPreference(key, value) |
Real (Double) | getRealPreference(key) | setRealPreference(key, value) |
String | getStringPreference(key) | setStringPreference(key, value) |
preferenceKey検索用にNotionのデータベースを作りましたので,ぜひご参照ください。Illustratorの環境設定の名前を日本語・英語で何と表現しているか調べるにも役に立ちます。
Ten Aさんが解説を公開しています。
- Illustrator preferences 1 | Automation Skill
- preferences keeper (AI preferences 2) | Automation Skill
preferenceKeyはこんな風に調べられます。
- Illustrator SDKのAIPreferenceKeys.hを参照する
- [Adobe Illustrator Cloud Prefs]ファイルをテキストエディタで開く
- [Adobe Illustrator 環境設定]ファイルをテキストエディタで開く
■ app.selectTool(toolName) について知りたい
ツールを切り替えるメソッドです。Illustrator 2020(v24)から追加されました。toolName検索用にNotionのデータベースを作りましたので,ぜひご参照ください。
toolNameはこんな風に調べられます。
- Illustrator SDKのAIToolNames.hを参照する
- Illustrator 初期設定.kysをテキストエディタで開く
■ PageItem.applyEffect(liveEffectXML) について知りたい
XML文字列を使い,アイテムに対してアピアランス効果をつけるIllustratorのメソッドです。
USのAdobe Support Communityフォーラムでおなじみ,mark1bean(m1b)さんがヘルパーライブラリを公開しています。
liveEffectXMLはこんな風に調べられます。
- アピアランス効果を適用したファイルをIllustrator CS6でFXGに書き出し,テキストエディタで開く
- aiファイルとWebサービスから取得する
- アイテムにアピアランス効果を適用したファイルを,圧縮なしでai保存する
- aiファイルをテキストエディタで開き,アピアランス効果部分のソースコード(/BasicFilter などがあるあたり)をコピーする
- Live Effect Helper にアピアランス効果部分のソースコードをペーストし,整形されたテキストを取得する
■ Illustratorスクリプトの文例が見たい
Scripting Referenceを辞書的に用いて目的の単語を見つけたあと使用例を見る。そんな流れにすると進めやすくなります。使用例はAdobe Illustrator 自動化作戦でおなじみ 古籏一浩 さんが大量に公開しています。
■ ScriptUIをGUIで組み立てたい
ExtendScriptのコードでダイアログやパネルを記述できます。この技術をScriptUIと呼びます。ただ,文字だけでウインドウの見た目を想像するのは難しいでしょう。そんなときはWebサービス「ScriptUI Dialog Builder」を利用してください。GUI上でウインドウをデザインし,ExtendScriptに書き出せます。
■ AppleScriptのbundle idやVBScriptのCLSID・ProgID等が知りたい
アプリケーション自動化に関わるID類を集め,Notionのデータベースを作りました。ぜひご参照ください。
これでまた少し仕事が速くなりました。今日もさっさと仕事を切り上げて好きなことをしましょう!
感謝の気持ちがあふれるときは Buy me a coffee
Buy me a coffeeは,クレジットカード払いなどでクリエイターにコーヒーをおごれるサービスです。記事が役に立った! 感謝の気持ちを表現したい! というかた,おごっていただけましたら嬉しいです☕️
コメント