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の作り方を書きます。