Adobe製アプリをスクリプトで操作する(Mac OS)
DTP作業に不可欠ともいえるAdobe製のデスクトップアプリケーション(以降アプリと略記)であるInDesign、IllustratorやPhotoshopを操作するには、主としてマウスやキーボードを使います。
別の手段として、アクション(マクロ)やスクリプト(プログラム)からアプリを操作する機能が組み込まれています。アクションやスクリプトを使用すれば、何度も繰り返す単純作業から解放されます。また、複雑な手順を間違いなく実行可能です。
最近だと事務作業でも、RPA(ロボティック・プロセス・オートメーション)と呼ばれたりして省力化に一役買っています。
Adobe製アプリを操作可能なスクリプト言語は2種類あります。ひとつはWindowsとMac OSで使用可能なjavascript(ジャバスクリプト) 、もうひとつはMac OSでのみ使用可能なAppleScript(アップルスクリプト)です。
javascriptで書いたスクリプトは、WindowsとMac OSで同じスクリプトが使えるので便利です。また、javascriptはwebやその他のソリューションで広く使用されているため、参考書籍やウェブサイト、サンプルコードが豊富です。
一方、Mac OSでしか使えないAppleScriptはjavascriptに比べて知名度も低いですし、参考となる情報も少ない言語ですが、javascriptにはない大きなアドバンテージがあります。それは、AppleScriptはMac OS自体に組み込まれているスクリプト環境で、AppleScriptからMac OSの機能をコントロール可能なのです。
AppleScriptに対応しているアプリは、Finder(Windowsのエキスプローラーと同等のファイルブラウザ)をはじめとするApple製のアプリ、Adobeのアプリやサードバーティー製のアプリも多数あります。アプリによってAppleScriptの対応レベルに違いがあり、コントロールできる機能は異なりますが、マウスを使わずにアプリをコントロール可能です。いわばAppleScriptはアプリとアプリを繋ぐ「ノリ」の役目を果たすのです。
今回のコラムでは、AdobeInDesignとファイルメーカー、エクセルの3つのアプリで、相互にデータ入出力を行う簡単なAppleScriptのデモをご紹介します。データは一時的なテキストファイルを使用することなく、AppleScriptを仲介として、直接アプリ間でやりとりされます。
【デモムービー】
このように、アプリ間でのデータ入出力が可能です。デモムービーのスクリプトを改良すれば、手作業で作成されたInDesignやIllustratorファイルから、テキストデータ、フォントや色の情報、画像ファイル名、画像ファイルの保存フォルダパスの抽出など、さまざまなデータの取得や変更が可能となります。
弊社はAppleScript、javascriptそれぞれの長所を生かして、カタログの自動組版やWEBシステム開発など、お客様のご要望に柔軟に対応できる開発体制を準備しております。お困りごとがありましたら、気軽にご相談ください。