東京もやっと緊急事態宣言が解除され、朝の通勤電車も少しずつ混雑が戻ってきた感じがしてます。
さてそんな中、5/27にDTPerのスクリプトもくもく会#17を開催しました。
平日の昼間開催にもかかわらず、5名の方に参加していただきました。ありがとうございました!
特に東京近郊以外からの参加が多く、富山、石川、広島と各地から参加していただけたことが非常に嬉しかったです。また情勢が落ち着いたらオフライン開催を行っていきますが、その際もオンライン参加枠を用意できないか、検討していきたいと思いました。
開催の所感
基本、無言。
文字通り黙々と作業になりました。
ただTwitterやSlackでいただいた感想を見る限り、集中して作業できたという声をいただけたので、これはこれで好感触でした。
実際、普段の自分は合間にSNS見たりiPhoneでゲームやったりしちゃうのですが、みんなでもくもく会やっているという緊張感というか見られている感覚からなのか、作業に集中できました。
オンラインもくもく会、いいのでは?
そしてチェックアウトの30分ほど前に、自由に質問を投げかける時間も設けたのですが、それも非常に良かったかな。
出た質問など
記憶の限りで順不同です。
- InDesign:ドキュメントのページを増減した際のイベントはどうやったらキャプチャできるか?
- Word:フィールドコードで記述された分数をどうやってInDesignに取り込むか?
- InDesign:目印となるタグを付けておいて、それをめがけて特殊な記号類(箇条書き番号)をアンカー付きオブジェクトとしてスクリプトで挿入しているが、ほかにどんなやり方がありそう?
- 開発環境:スクリプト開発はESTKからVSCode(ES Debugger for VSCode)に完全移行していますか?
- 開発言語:これからスクリプト開発するにあたり、VBS/VBA、JavaScript(ExtendScript)、AppleScriptのどれから勉強したらいい?
ページ増減のイベントキャプチャ
それ専用のイベントがなさそう、というのが僕とお〜まちさんの共通見解でした。
ドキュメントを監視するってなりそうな気もするし、ひょっとしたら特定のイベントで拾えるのかもしれない。未検証ですができなくはなさそう、しかしかんたんでもなさそう、という印象です。
その後Slackでやりたいことができましたと報告をいただきました。もくもく会をきっかけに悩みが解決していくのはいつも嬉しくなりますね。
フィールドコードからInDesign
Word上でフィールドコードの特定文字列を検索してしまってはどうか、という提案をしました。Wordの検索はVBAで記録できますし、フィールドコードは表示しておけばテキストとして検索できるからです*1。
プレーンテキストとしてInDesignに取り込んでから、スクリプトでやるかなぁ…?
目印からアンカー挿入
直前の質問の延長になるのですが、■テキスト/■
みたいな状態のテキストを用意しておき、それを検索してInDesignのライブラリから部品を読み込んでアンカー付きオブジェクトとして挿入ということをやっていらっしゃいました。
そもそもその時点でかなり効率化が図られているのですが、実はそのタグを用意するのが大変なんですよね。タグを打ち間違えたりするのでなるべくタグ自体の挿入も自動化しておくところなのですが、他にもっといいやりかたないですかね〜ということでした。
僕もたぶん遠からずそのようなやり方でやると思ったので、うまい方法は結局わからず。仕事によってケース・バイ・ケースにはなるものの、組み上げたスクリプトが他に転用できないというのはちょっともったいないところでもあり、どこまで一般化させるか/できるかというのは常に悩ましいですね。
開発ツールの移行
僕はほぼ100%、VSCodeに移行していて、ESTKの起動は月に1回か2回あれば多いかなという印象です。
ESTKのデバッグの手軽さは捨てがたいものがあるのですが、VSCodeでも環境さえ用意しておけば少しの手間ですぐ実行できます。
デバッグそのもののしやすさはやはりESTKなのですが、開発するためのエディタとしての機能は圧倒的にVSCodeのほうが優れていると僕は感じています。
開発言語について
どの言語からやるべきか、よりも、何を実現したいか、から選ぶべきなのが開発言語です。
ただどちらかというと学んだ言語/スキルマップの将来性みたいな話っぽかったので、それぞれのメリット・デメリット? です。
VBA/VBS、AppleScriptの留意点
- VBA/VBSならWindows、AppleScriptならMacのOSサイドの操作ができるのが魅力
- 特にアプリケーションを横断して操作でき、総合的な「自動化」が可能
- VBA/VBSはともかくAppleScriptは日本語の情報があまり多くない
JavaScript(ExtendScript)の留意点
- OSに依らないスクリプト開発ならJavaScript(ExtendScript)しかない
- JSを学んでおくとエクステンション(CEP)開発、将来的に導入されるであろうUXPやNWS*2といったものにも対応できる
- ウェブで用いられるJSとAdobeのExtendScriptは似ているが全く別物なので、ネットで調べた情報がそのままスクリプトにも使えるかの判断が難しい
- ExtendScriptの仕様がふた昔前のES3(ECMAScript3準拠)なので、いまネットに転がっているJSの知識はたいてい使えない
ただ、どの言語もいわゆるオブジェクト指向言語ではあるので、ExtendScriptをある程度勉強したらAppleScriptも少しわかる気がする…みたいになって相乗効果はあります。
今後のもくもく会について
先述の通り、情勢を鑑みつつ開催のタイミングを探っていきます。
次回もくもく会は夏ごろ開催の予定ですが、また詳細が決まり次第告知したいと思います!
*1:質問者のかたはMac版をお持ちのようですが、似たようなことができるのかしら? 使ったことがないのだ、Mac版Word…