Excel 2016 for MacのVBAからInDesignのJavaScriptを実行する(2)

少し空きましたがそこそこ元気です。ずーっと「InDesign JavaScript教室」のテキストを作ってまして、ようやく最終チェックを残すのみとなりました。何とか今週中に受講者に案内できるかなと思います。


さて、前回の続きですが、タイトルが誤解を招いていたので修正しました。どうAppleScriptでExcelを動かすのかと勘違いされている方がおられたようで申し訳ありません。残念ながVBAの話が中心で、AppleScriptはメインではないです。AppleScriptでExcelを動かしたい方Microsoftが「Excel AppleScript」といPDFファイルを公開しているので、まずそちらを確認してください。バージョン2008ですが、2016でも大きな違いはないと思います。

で、私がやったのは次のようなものです。

まあ、面倒くさいですね。素直AppleScriptで作ったらいいのに。

でも私AppleScriptはほぼ書けないので、できるたけ勝手知ったVBAとExtendScriptで逃げたい! という結果です。

でも繋ぎにAppleScriptを使わないとどうしようもないので、何とかひとつ書きました。1回書いておけばあとは修正不要、というのがミソ。それがこれ。

このファイル2016の場合は次のフォルダに入れておきます(ほかのバージョンではどこでもよいそうです)。

~/Library/Application Scripts/com.microsoft.Excel/

やってることは全然大したことがなくて、VBAから渡された引数(excelPara)を「||」で2つに分割して、1つは実行すJavaScriptファイル名、もう1つは、Excelから書き出されたテキストファイル名にしています。それを、InDesignを起動して「do script」で実行しているだけです。どのスクリプトか、どのテキストファイルかExcel VBAで指定するので、AppleScriptはこれ以上触る必要がない、ということになります。あ、そうそう、複数InDesignをインストールしていたら、バージョンごとAppleScriptファイルを用意しておけばいいですね。

続きがあるとすれExcel VBAとJavaScriptの作り方を書きます。