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

第7回 定型作業の自動化をGUIの環境で実現する「Automator」

「Mac OS X 10.4 Tiger」における新機能の一つである「Automator」は、定型作業の自動化をGUI(注1)環境にて実現し、初〜中級者の方にもその恩恵を享受しようとする新しい試みの一つですが、うまく普及してスクリプティングやプログラミングに携わる機会の無かったユーザをその道に誘うような役割を果たす事ができれば、Mac OS Xプラットフォームにおける重要な存在の一つと成り得るかも知れません。今回はそんな「Automator」の概要を、簡単なワークフローの作成を交えながら紹介していきたいと思います。


●これまでに無い初めての試みで簡易スクリプティングを実現

Macintoshの世界で簡易アプリケーションやアプレット(注2)、スクリプト等を作成するための純正ツールというのは、これまでにも幾つか存在していますので、まずはそれらを簡単に紹介してみましょう。

HyperCard

ハイパーテキストの一種である「HyperTalk」と呼ばれる自然言語に近いスクリプト言語(NTTが商標登録している通話システム「ハイパートーク」とは別物です)を使用して、カード型データベースや簡易的なマルチメディアドキュメント等を、ビジュアルを中心としたGUIの環境でオーサリングする事を可能としたものです。様々なカードをリンクさせて作った「スタック」と呼ばれるHyperCardのドキュメント(ファイル)は、ネットワーク全盛の現代ならば、より幅広い用途で活用できたのではないかと思われます。1987年に開発され、現在でも一応ダウンロード可能となっていますが、サポートしているOSは漢字Talk7.1.2位までです。

OpenDoc

1993年、こちらも漢字Talk7の時代に発表されたオブジェクト指向(注3)のソフトウェア開発環境で、様々な部品(音声、ボタン、静止画、動画、プログラム等)をドラッグ&ドロップでひな形(コンテナ書類)に貼り付けて、個々の独立した部品(パート)の集合によって1つのドキュメントを構成するようにしたものです。マルチプラットフォームを前提として開発されOS/2版等も存在していましたが、各社なかなか足並みが揃わず、大きく発展するまでには至りませんでした。アプリケーションの在り方を根本的に覆すような技術として一部の開発者達に支持されていましたが、1997年にApple社によるMac OSロードマップの見直しにより、一部のコンポーネント(Developer Tools、Open Transport、Game Sprockets等)を除いて大幅なアップデートを行なわない事が表明されます。Appleが提供していた「Cyberdog」が代表的な存在で、OpenDoc自体は現在でもダウンロード可能です。

AppleScript

Mac OS上でのみ利用可能なスクリプト言語。英語と非常に良く似た文法で記述する事ができ、専用の「Script Editor(スクリプトエディタ)」を用いる事により、制限付ではありますが自動記録(レコーディング)にも対応しているので、比較的習得が容易とされています。処理速度は若干遅いものの、単なるマクロ言語に留まらず様々なイベントを解析する事もでき、対応アプリケーションも多いため、使い込んでいけばかなり詳細な制御も可能となります。また、Mac OS X 10.1.2より導入された「AppleScript Studio」は「Xcode」におけるCocoaアプリケーションの記述にAppleScriptを採用する事により、本格的なアプリケーションの開発も可能としています。

UI Scripting(UI Element Scripts)

AppleScriptの機能の1つで、Mac OS X 10.3 Pantherより実装されたもの。キーボードやマウスから発生するGUIのイベントをスクリプトで制御する事ができるので、GUIの操作で制御できる機能に限定されはしますが、AppleScriptに対応していない(用語辞書が提供されていない)アプリケーションを制御する事が可能となっています。

代表的なものとしてこれらが挙げられるかと思いますが、今回紹介する「Automator」は、上記の技術や他のスクリプト、マクロ等の簡易的な開発環境のいずれにも類似する事なく、あくまでも「エンドユーザーや初心者に対して、より分り易く簡単に定型作業の自動化を提供するツール」といった位置付にあり、PhotoshopやIllustratorを使用した事がある人は「アクションパレット」を思い浮かべて頂くとイメージが掴み易いかと思います。一般的には「AppleScript」と比較される事が多いかと思いますが、大きな違いとして挙げられるのは、

といった事であり、OS標準の機能としては他のプラットフォームを含めて考えても、これまでに無い初めての試みとして非常に興味深い存在であると捕えています。


●入門用ワークフローの作成を通じて「Automator」の入口を体験

それでは実際に「Automator」を使用して、初心者の方が馴染み易いようなシンプルな形のワークフローを作成しながら、少しずつ理解を深めていきたいと思います。実際にはアクションと称される個々の実行用オブジェクト(部品)を提供しているアプリケーション間であれば、複数のアプリケーションを連携させるようなワークフローも作成可能となっていますが、ここでは入門用として最も使用頻度が高く、且つ実用的であろうと思われる「Finder」を用いたワークフローの作成を順を追って紹介してみたいと思います。お題目は

任意に選択されたファイルの情報パネルに、Spotlight検索用のコメントとして「Automator Test」という1文を追加。さらにそのファイルに黄色のラベルを付ける

このワークフロー自体にとりたてて深い意味はありませんが、情報ウィンドウの「Spotlight コメント」は、とかくヒット数が多くなりがちな「Spotlight」による検索を、より正確に絞り込みたい時等に非常に重宝します。特に「スマートフォルダ」を用いたファイル管理において、自分の望んでいるファイルやフォルダを指定したスマートフォルダにピンポイントで納めたい時等にかなり有効です。かといって毎回情報ウィンドウを開いてコメントを入力していたのでは、スマートフォルダのメリットも薄れてしまうというもの。こんな時にこそ「Automator」の出番となる訳です。(このワークフローは私も実際に重宝して使っていたりします。尚ラベルをつける事に深い意味はありませんが、様々な作業を1度のワークフロー内で完結できるという事を示すために付け加えています)

※「Spotlight」及び「スマートフォルダ」の詳細に関しては前回、前々回のコラムにて採り上げておりますので宜しければ御参照下さい。

それでは実際にワークフローを作成していきます。まずは基本画面の説明から。「Automator」自体は1つのアプリケーションとして起動ボリュームの「アプリケーション」フォルダにありますのでダブルクリックして起動してみましょう。ここで1つ気付くかと思いますが「Automator」は本体容量の割には動作が重く、特に初回起動時に時間がかかります。この事は後に説明する保存形式の過程で問題となってきますが、それは次回予定している「Automator」の応用編にて紹介する予定でおりますので、まずは起動直後の画面を見てみましょう。
Automatorインターフェイス

大きく分けて4つのエリアに分割されているのが分ります。それぞれを簡単に説明してみますと

「1」ライブラリ

ワークフローによって動作させるアプリケーションを選択します

「2」アクション

ライブラリで選択されたアプリケーション毎で、有効となるアクションが表示されます(ライブラリで選択されているアプリケーションを切替えると、アクションの内容も切替えたアプリケーションで実行可能なものに変ります)

「3」簡易ヘルプ

選択されたアクションの内容が簡単に説明されているエリア

「4」作業エリア

このエリア内にアクションを並べてワークフローを作成していきます

となっていますので、まずは「ライブラリ」>「Finder」と選択し、表示された「アクション」の中から「Finder 項目の選択を求める」というアクションを作業エリアにドラッグします。
アクション「Finder 項目の選択を求める」

ここでは「タイプ」の欄は「ファイルとフォルダ」を選択。次の「開始場所」とは、ファイル選択を求めるダイアログが表示された際に最初に現れる階層を選ぶ項目です。「DefultFolder」みたいな感じですので、実際には任意で構わないのですが、ここでは「デスクトップ」を選択しておきます。次のメッセージの欄は、ファイル選択を求めるダイアログの上部に表示されるタイトルを指定できますので、分り易いものが入力されていればOKです。ここでは初期値のまま「Finder 項目を選択」にしておきます。次の「複数選択を可能にする」のチェックは、オンにしておくと同一階層内で複数のファイルを一度に選択できるようになり、今回のワークフローにおいては非常に利便性が高くなるので、チェックを入れておきます

続いて2番目のアクションとして、アクションエリアから「Finder 項目に Spotlight コメントを追加」をドラッグ&ドロップで前のアクションに繋げるように配置します。
アクション「Finder 項目に Spotlight コメントを追加」追加
↑クリックで拡大します

このアクションの上部にあるコメント入力欄には、実際に入力させたい「Spotlight コメント」を記述します。この下の「既存のコメントに追加」にチェックを入れると、元々別の「Spotlight コメント」が入力されているファイルやフォルダの場合に、そのコメントに続けて指定された「Spotlight コメント」が追加で入力され、チェックが外れていると元々のコメントに対して上書で入力されますので、特別な理由が無い限りはチェックを入れておいた方が無難でしょう。さらにその下の「実行時にアクションを表示」の欄にチェックを入れると、アクション実行時にアクションの内容(ここでは「Spotlight コメント」の入力欄と、「既存のコメントに追加」のチェックボックス)が表示され、アクション実行毎に内容を変更する事も可能です。ここでは確認の意味も含んでチェックを入れた状態にしておきますが、変更の必要がないと確定している場合はチェックを外してフルオートで実行させた方が処理効率が上がります。

※Automatorのワークフローを使って処理させた内容は、取り消し(undo)する事ができませんので、ワークフローの作成段階やテストの時点では、可能な限り「実行時にアクションを表示」にチェックを入れて、確認しながら慎重に作業する事をお勧めします。

尚、ここで注意して見て頂きたいのが、アクションとアクションの繋目にあたる吹出しの部分です。上のスクリーンショットでは繋目の吹出し同士がきちんと繋がっているので問題が無い場合の例になりますが、前後のアクション同士に関連性が無かったり、後のアクションで要求している資源(ファイル、フォルダ等)が前のアクションから与えられなかった場合等は、前後のアクションを繋ぐ事ができません。(吹出しが表示されない)
結合できないアクション例
↑繋ぐ事のできないアクションの例。後のアクションが「iTunes 項目」を要求しているのに対し、前のアクションが「iTunes の曲」を渡そうとしているのでアクションを繋ぐための吹出しが表示されない

続いて3つ目のアクションとして、アクションエリアから「Finder 項目にラベルを割り当てる」という項目を、前のアクション(「Finder 項目に Spotlight コメントを追加」)に繋げるようにして配置します。
完成したワークフロー
↑ラベルの色は任意で構わないですが、ここでは便宜上とりあえず黄色を使用します(クリックで拡大します)

ここまでで今回の入門用ワークフローの流れが完成したので、続いて「ファイル」>「保存」を実行し、作成したワークフローを保存しておきます。保存場所は任意で構いませんが、ファイル名はとりあえず「sample.workflow」として、フォーマットは「ワークフロー」にしておきましょう。「ワークフロー」を選択すると「Automator」というアプリケーションの書類として認識されます。

※フォーマットの種類に付いては次回に詳細な説明を付けるつもりでいます。


●作成したワークフロー(「Automator」の書類)の動作確認

次に、作成したワークフローの動作確認を行います。先程保存した「sample.workflow」をダブルクリック、あるいは予め「Automator」が起動している場合は「ファイル」>「開く」から選択する事によりワークフローを開く事ができますので、「Automator」ウインドウの右上の実行ボタン(右向きの三角形)を押してみます。するとファイル選択用のダイアログボックスが現れるので、任意のファイルを選択して「OK」ボタンを押してみて下さい。(「複数選択を可能にする」にチェックを入れているので、shiftキーを押しながらの複数選択も可能となっている筈ですが、リスト上で連続しているファイルに限ります)するとSpotlightコメントの入力を求めるウィンドウ(今回のサンプルワークフローの場合、初期値では「Automator Test」と表示されます)やラベルの色の選択を求めるウィンドウ(同じく黄色)が出てきますので、確認しながらワークフローを進めていきます。尚、これらの確認用のウインドウは各アクションで設定されている「実行時にアクションを表示」のチェックを外せば、表示させずにワークフローを一気に進める事も可能ですので、慣れて来たら臨機応変に使い分けると良いかと思います。

ここまでが簡易スクリプト作成環境「Automator」の概要と機能の触りの部分の紹介となります。尚、デフォルト(インストール直後の状態)でアクションが提供されているアプリケーションは、バンドルされているアップル純正のものに限られていますが、既にサードパーティからも幾つかのアプリケーションのアクションやワークフローが提供されています。

【関連Link】

特にPhotoshop等では、アクションパレットとうまく連携させてFinder等の他のアプリケーションと絡めていけば、より柔軟なワークフローの構築も可能ではないでしょうか。

次回は「Automator」の応用編をお届けする予定でおります。


●本文訳注

(注1)GUI

グラフィカルユーザインターフェイスの略。CUI(キャラクターユーザインターフェイス)の対になる言葉で、OSやアプリケーションが提供する情報を、アイコンやボタン等視覚的に認識し易い形で提供し、マウスやタブレット等のポインタで選択可能としたもの。旧Mac OSはGUIの普及に多大な功績を残している。

(注2)アプレット

「アプリケーション」と「〜let(小さい)」を組合わせて造られた造語で、サーバー上で実行される「サーブレット」に対し、クライアント側(Webブラウザ等)にダウンロードして実行する小規模なアプリケーションの事を指す。Webブラウザを用意してサーバー上のアプレットをダウンロードするような形を採れば、効率的に複数の端末で同じアプリケーションを利用する事ができるようになる等、利便性の高い環境を構築する事ができる。

(注3)オブジェクト指向

「Objective-C」や「C++」「Java」「Smalltalk」等で採用されているプログラミング手法で、カプセル化された共通の部品(オブジェクト)に対して、オブジェクト間の手順のみを記述する事によって構造を単純化しようとする手法。下位のクラス(サブクラス)は上位のクラス(スーパクラス)の属性を引き継ぐ事ができる(インヘリタンス)ので効率的なプログラミングが可能。


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


Created Date : 05/10/05
Modified Date :