前回のコラム「AppleScript をはじめよう」では、主に AppleScript を始めるためのFAQのようなものでした。今回は「なにをどうしたいのか?」を明確に定義し、その処理の流れを見ていくことでAppleScript の作り方を紹介したいと思います。

■処理することの概要をきめる

【目的】
 「“Mac OS の使い方 掲示板 ”の過去ログがおさめられた1つのファイルを100文章毎に分割し、連番のhtmファイルを書き出し、それをリンクしたトップページを保存する」

 まず最初に、AppleScript でなにをどう実現するかをまとめておきましょう。「AppleScript で何ができるか?」ということが分かっていないと難しいので、初心者のうちはトライ&エラーを繰り返すしかないです。

 私の場合、以下のような流れにしました。

【前準備(手作業)】
Mac OS の使い方 掲示板 ”では、ツールによるログを保存する機能でタグが埋め込めるように設定できるので、[[comment]]という文字列を発言ごとの先頭に入力されるように設定して書き出します。そして、それらを1ファイルにまとめておく。(ここまでは手作業)

【スクリプトの処理の流れ】

  1. ファイルの中身の発言を[[comment]]というキーワードを利用して100単位でまとめ、共通のHTMLヘッダとフッタをくっつけてファイル保存する。ファイル名は 1.htm > 101.htm > 201.htm ... となる。同時に、これらのファイルへのリンクを<a href="xx.htm">1011-200</a><br> という感じでリスト形式に蓄積していく。 ※リストとは、{data1,data2,data3,...}という形のAppleScript で扱うデータ形式。
  2. 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 にテキストデータの内容がすべて格納されました。ためしに「制御」 - 「実行」 により動かしてみて下さい。ファイルを選ぶダイアログが開くので、(選択)ボタンを押してみましょう。そして「制御」 - 「結果を表示」を実行すると選択したテキストが表示されていますね?

>