Jon's Commandsは、ファイルやシステム、クリップボードなどの操作を始めとする、様々な機能をAppleScriptに追加できる、汎用的なコマンド集です。弊社製品『PreFab
Player 1.5J rev.1』にも標準添付されています。
数多くのOSAXの中で最も利用されているもののひとつといえる、非常に著名なOSAXです。特に、クリップボードの操作に関する機能については、このOSAXのコマンドがMac
OS 8.5以降に付属する「標準機能追加」OSAX内に標準搭載されています。
■ファイルの操作
『deleteFile』『ranameFile』『moveFile』『copyFile』等の、ファイルの削除/リネーム/移動/コピーを行うコマンドが用意されています。Finderの標準機能でも実行可能な内容ですが、スクリプトがシンプルになるなどのメリットがあります。またFinderをスクリプトで操作したときと異なり、「コピー中」などのダイアログが表示されません。また、『deleteFile』については、ファイルをごみ箱へ移動するのではなく、即時に消去します。
また、『walk folders』は便利なコマンドで、指定したフォルダ内の全階層フォルダ、及びその中の全ファイルに対してのスクリプト実行が可能になります。通常、フォルダ内の全ファイルのパスを取得して、リピート文の中で処理を行うようにしますが、これを使用すると手間が省け、処理速度もかなり向上できます。ファイルタイプでのフィルタリングも可能です。
『fileIsBusy』では、指定したファイルが何らかのアプリケーションで開かれているかどうかをチェックできます。
■クリップボードの操作
『set the clipboard to』『the clipboard』『clipboard
info』が、それぞれ、クリップボードに情報を書き込む/クリップボード上の現在の内容を読み出す/クリップボード上のデータのタイプやサイズなどを取得する、という機能を果たすコマンドです。これらのコマンドは、前記のように
Mac OS 8.5以降ではOSに標準搭載されていますが、Jon's Commandsをインストールすることでそれ以前のOSでも同様に利用できます。現在クリップボードに入っているデータが、文字なのか、画像なのか、等の判断も行うことができます。
変数とクリップボードとのやりとりができると、例えばAppleScriptへの対応度が低いアプリケーションとスクリプトの間でのデータ交換の可能性が広がる等、広い用途が考えられます。
■キーボード周りの操作
『keys pressed』では、現在押されているキーを取得できます。また、『execute
FKEY』では、ファンクションキーを押す操作をスクリプトから実行できます。これらは、PreFab Playerやキーマクロツール等と組み合わせて使うことで、より実用性の高いスクリプトを作成できます。
■tick単位での時間の計測
『the ticks』は、スクリプト上で秒単位以下の時間を計測/使用するために不可欠なコマンドです。実行すると、マシンの起動時から現在までの経過時間をticks単位(1tick=1/60秒)で返します。これを利用して、多くのユーザがスクリプトの速度テストなどをはじめ、さまざまな用途で、精度の高い計測を行っています。
■色の選択
『choose color』をスクリプト内で実行すると、下図のようなOSのカラーピッカーのダイアログが表示されます。色を選び、ダイアログ上でOKボタンを押すと、{65535,
65535, 65535} というように、それぞれ0〜65535の間の整数で表されたRGB値がリスト形式で返されます。
■その他システム情報の操作
他、『set sound volume to』(システムサウンドのボリュームを設定)、『play
sound』(指定したサウンドを鳴らす)等のサウンド系コマンド、『free memory』(現在の空きメモリ容量)等のマシン環境を調べるコマンド等も充実しています。『machine
environment』では、マシンのOS、CPUのタイプ、キーボード名、メモリの状態、OpenTransportのバージョンなど様々な情報を簡単に取得できます。『screen
list』は、現在使用しているディスプレイのサイズ等の情報を取得できます。FaceSpanやDialog Director等のダイアログの表示位置を規定したい時などに重宝します。
■Script Debuggerで真価を発揮する便利なヘルプ
付属のヘルプファイルは、「スクリプト編集プログラム」等のスクリプトエディタと同じフォルダに入れておくと、エディタのヘルプメニューから参照できるようになります。エディタが「Script
Debugger」の場合には、それ自体がスクリプタブルなのを利用して、Jon's Commandsのヘルプ画面でスクリプト例を選び「copy
Syntax」ボタンをクリックすることで、編集中のスクリプト内に直接ペーストしてくれます(下図)。サンプルスクリプトが多数記述されており、それも含めて便利にお使いいただけます。
Copyright (c) 1999-2008 The ForeSight
Inc. All Rights Reserved.