ソフトを開発しようと思った動機、背景
このプログラムのように、マクロ記述をしてコンピュータを自動操作するプログラムは、目的が複雑なだけに、操作も複雑になったり、自動記録といった余計な操作まで記録するようなプログラムになりがちです。マクロを作るのも、実行するのも、とにかくシンプルなのがほしいと思い、「他人の褌deゴー!」を開発するきっかけになりました。人間がマシンを操作しているときのキー入力、マウス操作、それらにともなうウィンドウの開閉、待っている時間といった基本的なインタフェースに着目し、前述の操作は、たった6種類の操作で実現できることに気がつきました。その6種類のマクロだけで、ユーザインタフェースを持つほぼすべてのWindowsプログラムがコントロールできます。
ここまで考えたらもうできたも同然なんで、マクロを解釈するエンジン部分、マクロを記述するエディタ部分、状況に応じて適切なマクロをユーザに明示するマクロ実行ユーザインタフェース部分の三つのプログラムに分けて開発しました。特に力を入れて作ったのが、マクロ実行ユーザインタフェース部分です。これは常駐プログラムとなって、アクティブなウィンドウを判断し、ホットキーにより実行できるマクロを特定できます。例えば、IEを使っているときにだけ利用できるマクロとか、メーラを利用しているときにだけ利用できるマクロとかを判断してユーザにアナウンスします。
マクロエディタもかなりシンプルで使いやすい構成になっているので、ぜひ「他人の褌deゴー!」を使って、自分なりの極楽環境を構築してみてください。作成したマクロ通りに動くのを眺めるだけでも、なんだかおもしろいです。
開発中に苦労した点
こうした汎用ツールは、特定のマシンだけで動いても意味がないので、いろいろなWindows OS、いろいろなマシンでテストしました。一つバグが出て修正するたびに、また全部の環境でテストし直しとなるので、開発する時間より、はるかにテストする時間が長かったですね。幸いにも、仕事がプログラマですから、マシンは会社にゴロゴロしているんで、環境には困りませんでしたが(笑)。
ユーザにお勧めする使い方
僕がよく使うのは、複数の定型文章や、プログラムテンプレート中の文字列置換を行うときに、置換処理用のマクロを作っておき、ファイルを開いてはワンキーで文字列置換しています。これの便利なところは、置換文字列が何種類あっても、あらかじめマクロを作っておけば、一処理で済みますからね。文字列置換機能を持っているアプリケーションなら、どんなアプリケーションにでもこの機能を付加できますから。
あと、マクロの管理ですが、ホットキーがマクロ実行をアナウンスするとき、作成したマクロを収めるフォルダの階層で、コンテキストメニューのポップアップを表示するようになっています(ホットキーのデフォルトは【Ctrl】+【Z】)。また、各マクロは、どのウィンドウキャプションに反応するか指定できるようになっています。上記二つの機能をうまく組み合わせると、目的のマクロをすばやく見つけることができます。
今後のバージョンアップ予定
先にも書いた通り、6種類のマクロでほぼ基本的なことはすべてできるので、今後のバージョンアップは、この基本的なことだけではどうしても実現不可能な処理を、プラグインといった形で実装していければと思います。まだプラグインによる具体的な実装案はないのですが、「こんなのあったら便利だね」というものがあれば、ぜひ作者にメールをください。
今後、僕のホームページで「こんなマクロ作って使ってます」みたいなライブラリも公開したいと思っています。
(白井 満浩)