AppleScript の概要や開発環境について書いています。
AppleScript とは?
———————————————————————-
Mac OS に標準で搭載されている「スクリプト環境」で、AppleScript 対応アプリケーション間で、値のやり取りが出来たりします。
日常のちょっとした作業を AppleScript で自動化できれば便利だと思いませんか?
### AppleScript の特徴
– 処理速度は遅い
– 中学生程度の英語力で記述できる?
### AppleScript の開発環境
Mac OS X を使っているなら、AppleScript は次のようなソフトを使って書く事ができます。
- スクリプトエディタ ( Script Editor )
- /Applications/AppleScript と言うフォルダの中にデフォルトでインストールされています。
- ドロップレットとか、アプリケーション形式で保存する事ができ、イベントログとかも確認できます。
- mi
- mi と言うテキストエディタでも、AppleScript の構文確認・実行ができます。
### AppleScript 関連のリンク集
[AppleScript Lab.](http://www.drycarbon.com/applescript/)
: クイックリファレンスやサンプルなどがあります。
[ AppleScript ] 文法
———————————————————————-
AppleScript の文法について書いています。
### AppleScript のコメント
AppleScript のコメントは次のように書きます。
-- 行末までコメント
(* 囲んだ範囲がコメント *)
しばらく AppleScript を書かないうちに、コメントの書き方まで忘れてしまっていました ( 笑 )
### AppleScript の変数名の付け方
AppleScript での変数名の付け方をまとめてみます。
- 変数名で使える文字は、半角英数字とアンダーバー( ハイフンは使えない )
- 大文字と小文字の区別はない( apple と Apple と APPLE は同じ変数名 )
- 数字も使えるが、数字から始まる変数名はダメ( 1_apple はダメ )
それから、AppleScript の予約語( for とか if とか )と重複しないように、
- HomeDir など二つの単語をつなげた複合語
- home_dir など二つの単語をアンダーバーでつないだ物
- X などのアルファベット一文字( 使い捨ての変数名? )
なんかにすると良いみたいです。
私の場合、ウェブページに AppleScript コードを載せる時、当然、ソースのカラーリングなんかは出来ず、読みづらいので、変数はアンダーバーから始めてみようかなぁ。なんて思ってます。
単純な変数名の時、
ThisCounter
とか付けるより、
_counter
の方がスッキリするかなと…。
### AppleScript の比較演算子
何かしら書く予定です。
[ AppleScript ] OSAX ( Scripting Addition )
———————————————————————-
### OSAX ( Scripting Addition ) とは?
日本語で言うと、スクリプティング機能追加。
AppleScript の機能を拡張するプラグインのような物で、OSAX に含まれる機能を簡単な命令で利用できます。
### OSAX を配布しているサイト
- Iimori’s Home Page
- Software Index に 12 個の OSAX があります。
見つけたら追記予定。
### Mac OS X に OSAX をインストールする方法
Mac OS X に OSAX をインストールするには、次のフォルダに OSAX ファイルをコピーします。
~/Library/ScriptingAdditions
[ ScriptingAdditions ] と言うフォルダが存在しない場合は自分で作ります。
[ AppleScript ] AppleScript のファイルを他の環境で問題なく開けるようにする
———————————————————————-
ネットからダウンロードしたスクリプトを編集・実行しようとすると、スクリプトエディタは、スクリプトの中に記述されているプログラム(tell application “Jedit X” みたいなやつ)を探しに行きます。
で、この記述されたアプリケーションが自分のマシンにインストールされていないと、編集・実行できないので、ウェブにアップするスクリプトは、テキスト形式で保存しておくと、どんな環境でも問題なく開くと思います。
それから、ダウンロードしたスクリプトを開く時、ネットワークボリュームや大容量 HD などをマウントしていると、プログラムの検索に時間がかかるのでアンマウントしておくと良いです。
[ AppleScript ] アクティブなアプリケーションのスクリプトだけ表示する
———————————————————————-
例えば、Finder がアクティブの時、メニューバーにあるスクリプトメニューから「スクリプトフォルダを開く」→「Finder スクリプトフォルダを開く」を選択すると、
~/Library/Scripts/Applications/Finder
なんてフォルダが作られます。他のアプリケーションがアクティブの時も同様にアプリケーション名のフォルダが作られる。
で、このフォルダの中に、スクリプトファイルを入れておくと、Finder がアクティブの時だけスクリプトメニューに表示されるようになるんですねー。すげー。Finder でしか使わないスクリプトを入れておくと良いですね。
AppleScript Utility では「アプリケーションスクリプト」と書かれている。
[ AppleScript ] スクリプトエディタのスクリプトアシスタントを使ってみる
———————————————————————-
Mac OS X Tiger に付属しているスクリプトエディタ 2.1.1 には、スクリプトアシスタントと言う入力補完機能があるみたい。
この機能をオンにするには「環境設定」→「編集」→「スクリプトアシスタントを使用」を選択して、「スクリプトエディタ」を再起動すればいいらしい。
使い方は、コード入力中に「…」が表示されたら、F5 キーを押す。候補がひとつの場合は確定され、候補が複数の場合は、上下矢印キーで選択しリターンキーで確定する。
便利だ…。
[ AppleScript ] Leopard + スクリプトエディタが不調
———————————————————————-
Leopard ( Mac OS 10.5.1 ) にしてから、AppleScript のスクリプトエディタがよく落ちるようになった。
### 強制終了する環境
- スクリプトエディタ 2.2
- AppleScript 2.0
- Mac OS 10.5.1
### 強制終了するタイミング
- Web ページからソースをコピペする時
- スクリプトエディタ内でソースをコピペする時
- コンパイルする時
など。
### 問題を解決すべくやってみた事
これと言ってシステム設定を変更した記憶が無かったので、とりあえず、[ システム環境設定 ] – [ キーボードとマウス ] – [ キーボードショートカット ] – [ フルキーボードアクセス ] – [ テキストボックスとリストのみ ] を選択するが直らない。
ひょっとして原因はフォントかな?
Xcode で AppleScript を書こうとしても落ちる。ダメだこりゃ。