再びコンピューターの前に座り、何かを終わらせるために同じボタンを何度も押し続け、目がうつろになっていることに気づくでしょう。複数のプロジェクトのために複雑なフォルダ階層を作成しなければならなかったかもしれません。あるいは、同じ種類のデータを何度もコピー、貼り付け、フォーマットしなければならなかったかもしれません。
仕事が何であれ、あまり楽しいものではなかったでしょう。
幸いなことに、プログラマーでなくても、コーディングすればそんな面倒な作業から解放されます。そこで、役立つ強力な自動化ツールを5つご紹介します。
ディレクトリ作品
何かを自動化しようとするときは、まず立ち止まって、自分が取り組もうとしている分野について考えてみましょう。タスクは主にテキストの繰り返し入力ですか?それともファイルの移動や作成ですか?範囲を絞り込むことで、適切なツールを見つけやすくなります。ファイル操作に関しては、Directory Opus を選んでおけば間違いありません。

69オーストラリアドルで販売されているDirectory Opusは、最も高価なファイルマネージャーの一つです。例えばTotal Commander(44ドル)よりもかなり高価です。とはいえ、一日中ファイルを扱う人にとっては、Directory Opusは価格以上の価値があります。ボタン、ツールバー、メニュー、コマンドをすべてカスタマイズでき、それぞれに独自のホットキーと名前を設定できます。レイアウトも変更可能で、デュアルペインのCommander風アプリケーションから、通常のWindowsエクスプローラー風、そして自分だけのオリジナルアプリケーションまで、様々なスタイルに対応しています。
このレベルのカスタマイズにより、自動化が容易になります。Directory Opus には独自のコマンドセットが組み込まれており、シンプルなスクリプト言語として機能します。例えば、今日の日付を特定の形式(2012-12-13、121213 など)で表した新しいドキュメントを、1回のキー操作で作成できます。複数のファイルを選択し、それらを特定の規則に従って素早く名前変更したり、現在のフォルダにあるすべての DOC ファイルと JPG ファイルを選択し、任意の名前と形式でアーカイブに圧縮して電子メールで送信するマクロを作成したりすることも可能です。つまり、Directory Opus はファイル操作を伴うほぼあらゆるタスクの自動化を支援し、そのコマンドは十分にドキュメント化されています。
VBA
日々の業務の自動化に関する記事は、VBA(Visual Basic for Applications)に触れずには完結しません。VBAはダウンロードしてインストールすることはできませんが、Microsoft Officeに組み込まれているので、おそらく既にインストールされているでしょう。Word、Excel、Accessで行うあらゆる作業を自動化したいなら、VBAはまさにうってつけのツールです。テキスト入力から文書の書式設定、外部ファイルの操作、カスタムExcel関数の作成まで、ほぼあらゆる作業に活用できます。

VBAの最大の利点の一つは、その使いやすさです。例えば、テキストを選択して太字にするなど、何か操作するマクロを記録し、内蔵のVBAエディタを使って、そのマクロがコード形式でどのように表示されるかを確認できます。VBAエディタにアクセスするには、Alt + F11キーを押すか、リボンの「開発」タブを使用します(ただし、事前にタブを表示しておく必要があります)。
エディターは、組み込みのデバッグツール、オートコンプリート、コンテキストヘルプなどを備えた、包括的な開発環境です。エディターでマクロを表示しながら、簡単にカスタマイズし、プロジェクトのニーズに合わせて新しい機能を徐々に習得できます。実際、VBAはプログラミングを始めるのに最適な方法の一つです。各マクロは簡潔で、すぐに使えるため、作業がより迅速かつスムーズに進みます。
フレーズエクスプレス
どのプログラムを使っても、同じことを何度も繰り返し入力していることがあるでしょう。メールの挨拶文や署名、あるいは仕事に関する定型文(「ご興味をお持ちいただきありがとうございます」など)などを考えてみてください。もし、こうした繰り返しの文章をすべてキーを1つか2つ押すだけで入力できたらどうでしょうか?PhraseExpressはまさにそれを実現するツールです。しかも、それ以上の機能を備えています。個人利用は無料、ビジネス利用は30日間の無料トライアル期間終了後、50ドルでご利用いただけます。

PhraseExpress をテキスト置換プログラムと言うのは、コンピューターをタイプライターと言うようなものです。確かに、よく使うテキストのスニペットを保存しておき、キーを1、2回押すだけで素早く挿入できます(これは非常に便利な機能です)。しかし、それだけではありません。例えば、PhraseExpress は、ユーザーがタイプミスを修正したことを認識し、キーボードでよく犯す特定のタイプミスを自動的に特定し、ユーザーが誤入力に気づく前に修正候補を提示します。スニペットには、今日の日付や6日後の日付など、動的な情報を入力できます。変数(人名など)の入力を促し、スニペット内の適切な場所に挿入することもできます。さらに、PhraseExpress のウェブサイトから無料のアドオンファイルをインストールすれば、PhraseExpress をインライン計算機として使用することもできます。「(10+5)*7=」のように入力するだけで、アプリがそのテキストを正しい結果に置き換えるかどうかを提案します。
PhraseExpressは強力ですが、いくつかの制限があります。まず、正式なプログラミング言語ではありません。変数の設定は容易ではなく、内蔵エディタでは行番号の表示やコマンドの自動補完機能がありません。また、ドキュメントにも問題があります。開発元(Bartels Media)はオンラインドキュメントを提供していますが、内容はそれほど充実していません。一方で、PhraseExpressには役立つサンプルが豊富に用意されているので、サンプルを使って学習したい場合は、必要なマクロに似たものを見つけてカスタマイズするだけで済むかもしれません。
オートホットキー
何年も前から、コンピューターに何か特別な処理をさせたい時は、AutoHotkey に頼ってきました。PhraseExpress と同様、このシンプルで無料のスクリプトプロセッサは、ホットキーや「ホットストリング」(wbrと入力すると、AutoHotkey がそれを「Best Regards(敬具)」に置き換えてくれます)に対応しています。しかし、AutoHotkey の手軽な操作性は、複雑な数値演算から HTML 変換、そしてユーザーインターフェース全体(ウィンドウ、ボタンなど)の作成まで、あらゆる処理をこなせる成熟した強力なプログラミング言語であることを隠しています。

AutoHotkeyを使って私がこれまで試みた中で最も独創的なことは、「モールス信号」ユーティリティでした。Ctrlキーを3回連続で(ドット・ドット・ドット)押すとある動作をし、同じキーをドット・ダッシュ・ドットのパターンで押すと別の動作をするツールが必要でした。AutoHotkeyはまさにその課題をクリアし、Ctrlキー本来の機能は失われませんでした。他のホットキーの組み合わせ(Ctrl+Sなど)は引き続き動作しました。ただし、コーディングには苦労しました。どんなに頑張っても、このユーティリティを自力で動作させることはできませんでした。しかし、AutoHotkeyのフレンドリーな開発者コミュニティが助けてくれ、知識豊富なメンバーがまさに私が求めていた機能を実現するスクリプトを作成してくれました。
VBA と同様、AutoHotkey はすぐに使いこなせるほど簡単です。最初のニーズはおそらく単純なものでしょう。たとえば、頻繁に使用するアプリケーションの煩わしいショートカットを再マップしたり、電子メールに署名するための簡単なマクロを作成したりすることです。このような改善が簡単なワンライナーでいかに簡単に行えるかが分かれば、もっと多くのことをしたくなるでしょう。そこで AutoHotkey の包括的なドキュメントが役に立ちます。豊富な例と明確な説明が含まれた、バンドルされているヘルプ ファイルを見れば、何ができるのか、どのように実現できるのかを理解できます。さらに簡単にするために、AutoHotkey では、単純な構文 (a = Hello) またはより専門的な方法 (他の言語でのコーディングに慣れている人向け、a := "Hello") のいずれかで、多くの操作を実行できます。つまり、2 つの構文で同じ結果が生成され、誰もが快適に使用できます。コミュニティとその広範なオープン ソース スクリプトのコレクションを加えると、AutoHotkey は自動化を新しいレベルに引き上げます。
指揮を執る
ニール・スティーブンソンは、コマンドラインこそが起源だと語っています。しかし残念なことに、少なくともWindowsのデフォルトのコマンドプロセッサであるcmd.exeとその無味乾燥な黒いウィンドウに関しては、それ以来ほとんど何も変わっていません。Linuxユーザーは、パワフルなbashコマンドプロセッサに接続する洗練された半透明のウィンドウを楽しんでいる一方で、Windowsユーザーは、サイズが正しく変更されず、マウスコマンドなしでは貼り付けもできない(Ctrl+Vを押しても^Vと表示されるだけ)古風なコマンドラインに縛られています。
この厄介な状況に対するMicrosoftの答えがPowerShellです。これは、Windows XP SP2からWindows 8までのバージョンにバンドルされている、強力な代替コマンドプロセッサです。PowerShellは多くの機能を備え、デフォルトのコンソールアプリケーションはサイズ変更可能ですが、キーボードでテキストを選択したり、Ctrl+Vで貼り付けたり、フォントサイズを素早く変更したりすることはできません。さらに、PowerShellコマンドプロセッサの使い方は習得が容易ではなく、使用するためにコンピューターのセキュリティ設定を調整する必要があるかもしれません。

100 ドルのユーティリティである Take Command は、Windows のコマンド ラインがそれほど古臭く、複雑である必要はないことを証明しています。強力でありながらシンプルなコマンド プロセッサと美しくモダンなインターフェイスを組み合わせることで、Windows のデフォルト インターフェイスを何年も昔のものにしています。コマンド プロセッサである TCC は、Windows に組み込まれているもののスーパーセットです。つまり、dir は dir のまま、del は del のままで、コマンド ラインでの作業について既に知っていることはすべてそのまま有効です。ただし、多くの追加コマンドも使用でき、既存のコマンドに対しても、cmd.exe の対応するコマンドでは夢見ることしかできないスイッチが TCC ではあります。結果として、VBScript や AutoHotkey と同様に、TCC は徐々に習得できる言語です。簡単なものから始めれば、おそらくそのうちのいくつかはすでに知っていることでしょう。
コンソールインターフェースは完璧に仕上がっています。ウィンドウはタブ化されているため、複数のコンソールセッションを同時に実行できます。Shiftキーと矢印キーを押すとテキストが選択され、Ctrl+Vを押すとコンソールにテキストが貼り付けられます(すごいですよね!)。統合されたファイルマネージャーを使えば、操作がファイルシステムに与える影響をリアルタイムで確認できます。言語に慣れ、バッチスクリプトを書く準備ができたら、最大のメリットである、行単位のデバッガーを備えた組み込みのプログラマー用エディタにきっと気づくでしょう。
Take Command は高価ですが、コマンド プロンプトで多くの時間を費やしたり、バッチ ファイルが壊れる原因をトラブルシューティングする必要がある場合は、優れた投資となります。
どれを選ぶ?それはあなた次第
ソフトウェアは個人的なもので、ユーザーによって好みは異なります。幸いなことに、ワードプロセッサやコマンドラインインタープリタを自分好みにカスタマイズする必要はありません。ほんの少しの調整で、ソフトウェアを自分好みにカスタマイズし、作業のスピードと快適性を大幅に向上させることができます。まずはゆっくり始めてみてください。もしかしたら、あなたもプログラマーになれるかもしれませんよ。