AppleScript をはじめよう!
掲載日: 2003年 06月 22日
続・AppleScript をはじめよう! AppleScript を考えてみよう!
前回のコラム「AppleScript をはじめよう」では、主に AppleScript を始めるためのFAQのようなものでした。今回は「なにをどうしたいのか?」を明確に定義し、その処理の流れを見ていくことでAppleScript の作り方を紹介したいと思います。
■処理することの概要をきめる
【目的】
「“Mac OS の使い方 掲示板 ”の過去ログがおさめられた1つのファイルを100文章毎に分割し、連番のhtmファイルを書き出し、それをリンクしたトップページを保存する」
まず最初に、AppleScript でなにをどう実現するかをまとめておきましょう。「AppleScript で何ができるか?」ということが分かっていないと難しいので、初心者のうちはトライ&エラーを繰り返すしかないです。
私の場合、以下のような流れにしました。
【前準備(手作業)】
“Mac OS の使い方 掲示板 ”では、ツールによるログを保存する機能でタグが埋め込めるように設定できるので、[[comment]]という文字列を発言ごとの先頭に入力されるように設定して書き出します。そして、それらを1ファイルにまとめておく。(ここまでは手作業)
【スクリプトの処理の流れ】
■さぁ、書きはじめよう!
処理の流れはだいたい決まったので、あとはコマンドを調べながら、書き込んでいきましょう。最初に on run ~ end run という処理区間の指定を入れておきましょう。AppleScript は実行時の最初にこの区間の処理を実施してくれます。
■処理することの概要をきめる
【目的】
「“Mac OS の使い方 掲示板 ”の過去ログがおさめられた1つのファイルを100文章毎に分割し、連番のhtmファイルを書き出し、それをリンクしたトップページを保存する」
まず最初に、AppleScript でなにをどう実現するかをまとめておきましょう。「AppleScript で何ができるか?」ということが分かっていないと難しいので、初心者のうちはトライ&エラーを繰り返すしかないです。
私の場合、以下のような流れにしました。
【前準備(手作業)】
“Mac OS の使い方 掲示板 ”では、ツールによるログを保存する機能でタグが埋め込めるように設定できるので、[[comment]]という文字列を発言ごとの先頭に入力されるように設定して書き出します。そして、それらを1ファイルにまとめておく。(ここまでは手作業)
【スクリプトの処理の流れ】
- ファイルの中身の発言を[[comment]]というキーワードを利用して100単位でまとめ、共通のHTMLヘッダとフッタをくっつけてファイル保存する。ファイル名は 1.htm > 101.htm > 201.htm ... となる。同時に、これらのファイルへのリンクを<a href="xx.htm">1011-200</a><br> という感じでリスト形式※に蓄積していく。
※リストとは、{data1,data2,data3,...}という形のAppleScript で扱うデータ形式。
- 1.で蓄積したリストを元に、index.htm を作成する。これがトップページとなる。単純にリストをテキストに展開し、HTMLのヘッダとフッタを付けるだけ
- 1.で蓄積したリストを元に、index.htm を作成する。これがトップページとなる。単純にリストをテキストに展開し、HTMLのヘッダとフッタを付けるだけ
■さぁ、書きはじめよう!
処理の流れはだいたい決まったので、あとはコマンドを調べながら、書き込んでいきましょう。最初に on run ~ end run という処理区間の指定を入れておきましょう。AppleScript は実行時の最初にこの区間の処理を実施してくれます。
|
on run end run |
あとは、この区間のなかに スクリプト を書いていきます。
最初にまず、元データを読み込みましょう。choose file というコマンドを使い、afile という変数に格納します。
|
on run set afile to choose file end run |
変数に格納しただけでは、そのファイルを参照しているだけですので、ファイルの中身を読み込み、mainDoc という変数に格納します。
|
on run set afile to choose file set mainDoc to read afile end run |
これで、mainDoc にテキストデータの内容がすべて格納されました。ためしに「制御」 - 「実行」 により動かしてみて下さい。ファイルを選ぶダイアログが開くので、(選択)ボタンを押してみましょう。そして「制御」 - 「結果を表示」を実行すると選択したテキストが表示されていますね?
| > |
