INDEX(Topページ) | News & Topics | Glossary | Column List | GuestBook | Link & Profile

第8回 定型作業の自動化をGUIの環境で実現する「Automator」〜効率的な使用法と応用機能等〜

今回は、前回のコラム「定型作業の自動化をGUIの環境で実現するAutomator」にて作成した「sample.workflow」を使用しながら「Automator」の効率的な使用法、及び応用機能等を紹介してみたいと思います。


●作業効率を向上させるための「アプリケーション」形式での保存

まずは今回のコラムから御覧になられた方のために、前回作成した「sample.workflow」の構成をAutomatorのスクリーンショットにて確認してみたいと思います。
完成したワークフロー
↑前回作成した「sample.workflow」。内容は「任意に選択されたファイルの情報パネルに、Spotlight検索用のコメントとして「Automator Test」という1文を追加。更にそのファイルに黄色のラベルを付ける」といった内容のものを「ワークフロー(Automatorの書類形式)」で保存(クリックで拡大します)

では今回は、まず「sample.workflow」をダブルクリックして開いてみるところから始めてみます。この「sample.workflow」自体は、Automatorの書類形式で保存してあるので、書類が開く前にまずAutomator本体が起動するかと思います。しかし、ここで問題となってくるのが前回のコラムでも少し触れている「Automatorというアプリケーションは非常に動作が緩慢である」という事で、本体容量2MB強のアプリケーションとは思えないくらい、特に初回起動時や書類を開く時のレスポンス等にもたつきがあります。実メモリも仮想メモリも、さほど消費している訳ではないようですが、新しいアプリケーションなだけに最適化が進んでいないという事でしょうか。定型作業を自動化し、作業効率を改善しようとする事を主旨としているアプリケーションとしては致命的な問題であり、このままだと単純なワークフローであれば「手作業で済ませた方が速くなってしまう」なんて事も有り得ます。

このような問題を現状で最も効果的に解決する方法として、見出しにも著した「アプリケーション形式での保存」というものがあります。これは「ファイル」>「保存」及び「ファイル」>「別名で保存」ダイアログの「フォーマット」の項目で、「アプリケーション」を選択する事によって実現するものですが、文字通り作成元のアプリケーションを必要とせず、ドキュメント単体で実行可能な形式であり、AppleScriptを使った事がある人であれば「スクリプトエディタ」でも同様の機能があるので分り易いかと思います。他の例を挙げてみると、Stuffitのsea形式等、自己解凍形式の圧縮ファイルも元のアプリケーションを必要としないという点で同じですね。保存ダイアログのスクリーンショットを見てみると、こんな感じです。
アプリケーション形式で保存

デフォルトの拡張子を見ても解るように、立派なパッケージ形式のアプレットの1つです。この「sample.app」をダブルクリックで実行すれば、Automator本体の起動を必要とせずに、非常に軽快なレスポンスで、作成したワークフロー(自動処理)の内容を実行する事が可能です。

※Automator本体を起動する必要はありませんが、実行する環境にAutomatorがインストールされている必要があります。よって作成したアプリケーション形式のファイルを、10.3 Pantherや10.2 Jaguar(及びそれ以下)にコピーして使おうとしても動作しませんので混在環境では注意が必要です

ちなみに私の環境で、デスクトップに置いてある6つのファイルに対してこのワークフローを実行した場合

というレスポンスの違いが出ています。
※PowerBook G4 550MHz 768RAM、Mac OS X 10.4.2の環境にて測定。数値は参考程度に止めておいて下さい。

そして次に、このアプレットの処理効率を更に向上させるために、「実行時にアクションを表示」のチェックを外して、途中で出てくる「アクションの内容を確認するウインドウ」も非表示にした上で、ドラッグ&ドロップに対応したドロップレット(注1)を作成してみる事にします。

作り方は非常に簡単です。まずはAutomatorを起動した状態で、「ファイル」>「開く」を実行し、「sample.app」(アプリケーション形式)を選択してワークフローの内容を表示します。或いは「sample.workflow」(Automator書類形式)であれば、Automatorが起動してしていない状態でも、ダブルクリックでワークフローの内容を表示する事ができます。

表示されたワークフローの内容から、1番目に設定されている「Finder 項目の選択を求める」というアクションを無効にするような変更を加えていきますが、これには複数の方法が考えられます。

・「Finder 項目の選択を求める」というアクションを、右上の「バツ印」をクリックする事によって削除してしまう
・アクションの左上にある順番を表す数字をクリックする事によって表示されるプルダウンメニューから「使用停止」を選択。(「使用停止」にした項目を後々復活させる可能性がある場合等は、こちらの方がより効率的でしょう)
・先頭のアクションを「選択された Finder 項目を取得」に変更

ここでは、先頭のアクションだった「Finder 項目の選択を求める」は、このドロップレットで使っている限り再利用する予定が無い事と、よりシンプルなワークフローにするために、1つ目に挙げた「先頭のアクション(「Finder 項目の選択を求める」)を削除する」の方法で話を進めていきますが、それぞれの特性を比較した上で臨機応変に使い分けると良いでしょう。

この状態で前述のアプリケーション形式での保存を実行すれば、ドラッグアンドドロップに対応したシンプルなドロップレットの完成です。一応最終的なワークフローの内容をスクリーンショットで確認してみますと、
完成したドロップレットのワークフロー内容

編集の結果、先頭のアクションとなった「Finder 項目に Spotlight コメントを追加」は、本来であれば前のアクションから渡されたファイルかフォルダに対して処理を行うものなので、先頭のアクションになってしまうと入力要求を表示している右側の「ファイル/フォルダ」という文字が、エラーを表す赤い文字で表示されてしまいます。しかし今回のワークフローでは、先頭のアクションが求める入力要求(ファイル/フォルダ)は、ユーザーがドラッグ&ドロップによって与える事になるので、このままで構いません。このままの状態で「ファイル」>「別名で保存」を実行し、フォーマットは「アプリケーション」形式で任意の名前を付けて保存すれば、ドラッグ&ドロップに対応したドロップレットの完成です。テストも兼ねて任意のファイルかフォルダ(複数選択でも可)を、今回作ったアプリケーションにドロップしてみると、効率の良さとレスポンスの速さを感じると思います。特に最初に作ったワークフローとは格段の差がありますね。これくらい使い易くなると、もっといろいろ工夫したワークフローを作ってみようという気にもなるものです。


●更なる効率化を図るための「プラグイン」形式の活用

次は同じワークフローに対して、更に一歩進んだ操作性と効率を提供してくれる「プラグイン」形式での活用方法も紹介してみます。プラグイン形式は下のスクリーンショットにも見られるように、現状では「プラグインの対象」として6つのオプションが利用可能になっていますが、まずは最も代表的と思われる「Finder」プラグインを例にとってみます。これも作成には何の手間もかかりません。先程作成した「sample.app」をAutomatorで開いた後、「ファイル」>「プラグインを別名で保存」を実行し、出てきたダイアログで任意の名称を設定(ここでは便宜上「sample-p」という名称にします)。その下の「プラグインの対象」のリストから「Finder」を選択して実行すれば完了です。
プラグイン形式保存ダイアログ

ここで作成したプラグインファイルの実体は、

以下に保存されています。

そして、このプラグインの使用方法も至って明快です。Finder上で処理を行うファイル(フォルダ)を選択(複数選択も可)。右クリックにて現れるコンテキストメニュー(Windowsにおける右クリックメニュー)から「Automator」上にカーソルを合わせれば、出てくるサブメニューに作成したプラグインが登場するので、使用したいプラグインを選択するだけ。後の作業は「Automator」がユーザに成り代わって作業を遂行してくれるという訳です。
コンテキストメニューからプラグイン形式のワークフロー呼び出し
↑サブメニューの「ワークフローを作成」を選択すると、「指定された Finder 項目を取得」が先頭のアクションとなった状態でAutomatorが起動する(クリックで拡大します)

このプラグインを有効利用すれば、ドラッグ&ドロップの手間も省けてしまいますし、Windowsユーザーにも馴染み易いでしょう。私は「Finder」から始まるワークフローであれば、この形式を一番お勧めします。

もう1つ、その他のプラグイン形式の活用方法として「スクリプトメニュー」も紹介しておきます。これは、保存したプラグインをメニューバーの「スクリプトメニュー」から呼び出すような形になりますが、Mac OS X 10.4 Tigerは、デフォルトでメニューバーに「スクリプトメニュー」が表示されていません。これを表示させるためには、

を起動して、出てきたウインドウの下部にある「メニューバーにスクリプトメニューを表示」にチェックを入れれば、メニューバーに黒いスクリプトアイコンが表示されます。この状態で、前回のコラムで作成した「sample.workflow」をAutomatorで開き、「ファイル」>「プラグインを別名で保存」を実行。出てきたダイアログで任意の名称を設定(今度は「sample-p-2」という名称にしておきます)し、その下の「プラグインの対象」のリストから「スクリプトメニュー」を選択して実行すれば完了です。完成したプラグインは、メニューバーの「スクリプトメニュー」をクリックして現れるリストの最下部に表示されるので、選択すればワークフローの開始。メニューバーは、どのアプリケーションがアクティブな状態でも自由にアクセスする事ができるので、「Finder」プラグインとは違ったメリットも生まれてきます。

尚、このスクリプトメニューは、

の内容を参照しているので、このフォルダにアプリケーションやフォルダのエイリアスを入れておけば、Classic Mac OSにおける「アップルメニュー」のような使い方もできます。
スクリプトメニュー
↑メニューバーの「スクリプトメニュー」を表示させた状態。Automatorのプラグインは最下部に表示されている。同メニューではClassic Mac OS時代の「アップルメニュー」の操作性も実現している

尚、「アプリケーション形式」及び「プラグイン形式」の場合には、ワークフローの実行中、右上のメニューバーに進捗状況が表示されるようになっているので、ワークフローが自らの意図した通りに実行されているかどうか確認する事が可能です。
メニューバーにおけるワークフロー進捗状況
↑メニューバーに表示されているワークフローの進捗状況。右側の赤い丸印(八角形)をクリックするとワークフローを途中でキャンセルする事ができる

それに対し「Automator書類形式」の場合は、ワークフローを表示しているウインドウの右下に進捗状況が表示されます。もしも、ワークフローが自分の意図した通りに動作しない場合は、「表示」>「ログを表示」と実行すると、実行したワークフローのログを表示する事ができるので、どこで不具合が起きているのかを確認する事ができます。複雑なワークフローを作成し、トライ&エラーの繰り返しになるような場合には、常にログウインドウを表示させて確認しながら作業を進めるのが良いかと思われます。


●総括

ここまで2回に渡って紹介してきた「Automator」は、iLife等と違い、それ自体によって何か目に見える形のものが提供される訳ではないので、Mac OS Xユーザーの中でも「1度も起動した事が無い」といった方もいるのではないかと思われます。しかし、日々のMac OS Xでの作業を振り返ってみると、毎回必ず行われている定型作業というのが幾つか見つかると思います。それが複数の工程にまたがる様な作業だったら、まずAutomatorを起動してアクションを探してみて下さい。該当するアクションが見つかったら即ワークフローの作成です。毎回行う定型作業というのは1工程でも減らせれば、積み重なった時に得られる時間はどんどん大きくなっていき、貯まった貯金(時間)を他の作業に投資できれば、よりいっそう作業効率が上がっていくというものです。

機能的にあまり過度な要求には応えられないアプリケーションではありますが、Automator中で他スクリプト等を呼び出すような形を用いれば、柔軟性の高いワークフローを短時間で作成する事も可能です。応用例としてAutomatorの中で再帰的な処理を行わせて、終了条件をAppleScriptで指定するようなワークフローを作成すれば、繰返し処理(ループ)も不可能ではありません。特にMac OS Xユーザに多いとされるデザイナやクリエイタの方々にとって、AppleScriptよりも圧倒的に短時間で習得できるAutomatorは、スマートフォルダと共に、創造作業に集中する時間を得るための、強力な味方となってくれる事でしょう。


●本文訳注

(注1)ドロップレット

処理対象のファイルの入力をドラッグアンドドロップによって受付ける小アプリケーションで、代表的な存在としてStuffItシリーズのドラッグアンドドロップアプリケーションがある。尚、「アプレット」の対意語にはならない。(「アプレット」の「アプ」は「アプリケーション」の「アプ」)


御意見、御感想はこちらまで
Topページへ


Created Date : 05/11/15
Modified Date :05/12/29