AppleScript 救急隊

The ForeSight Inc. AppleScript救急隊 ASQsについて Download (サンプル&デモ)


ビジネスで有効活用を目指す

われらがAppleScript救急隊


MacPower誌



Vol.4 ファイルメーカーProからHTML出力(2)

前回は、ファイルメーカーProのデータをHTMLに変換するスクリプトを作成した。
ただ、このスクリプトでは取得したテキストそのままのHTMLになってしまったので、見栄えはいまひとつだった。そこで今回は、もっとカッコいい表現に挑戦してみよう。

テーブルで行こう!

簡単な表組を作るスクリプト

ちょっと複雑な表組をするスクリプト


テーブルで行こう!


WWWの見栄えをよくするコツがテーブルだ。 テーブルを利用すれば、見違えるほどきれいなページレイアウトが可能になる。今回はTABLEタグを使って、見やすいスクリプトを作ってみよう。表組を使ったホームページはよくあるが、あれがTABLEタグを使ったHTMLだ。しかも、Netscape Navigator 3.0以上を使えば、表のセルに色を付けることだってできる。うまく使うと、かなり見栄えにこだわったリッチなページが作れるのだ。

実は、今回はテーブルを作成するためのライブラリー[*1]のようなものを提供するつもりだったのだが、取りあえずこれは勘弁してもらうことにした。なぜかというと、TABLEタグの属性の設定がかなり面倒になることに気付いたからだ。TABLEタグは、構造が複雑でパラメーターも多い。きちんとしたテーブルを作成しようとすると、指定が複雑になってしまう。例えば関数としてパッケージングして、引数[*2]としてそんなに複雑な設定をする必要があるなら、TABLEタグの構造をAppleScriptのスクリプトの中に直接書いてしまうほうがいいんじゃないかと思った次第。
ということで、今回のサンプルスクリプトをテンプレートとして、自分の用途に合うように自由に改良してほしい。
なお、スクリプトなんかいじりたくない、気楽にHTML出力したいという人のためのおまけも用意した。
こちらはSampleScripts Vol.4にスクリプトと説明を収録したので参照してほしい。 TABLEタグとは  引き続きMacのスペックデータベースをサンプルにするが(図1)、今回のスクリプトの内容については、ホームページ作成ソフトを使わずに手書きで直接HTMLを書ける人でないと理解が難しいかもしれない。見た目を気にしない人は、TABLEタグを使わない前回のものでOKだと思う。しかし、見た目にもこだわりたいなら、ぜひHTMLにも挑戦してみよう。


図1 今回のサンプルは前回と同じ、Macのスペックデータベースだ

TABLEタグは、HTMLで表組をするためのタグだ。HTMLのタグは簡単でわかりやすいものが多いが、TABLEタグだけはちょっと複雑で手ごわい。TABLEタグの使い方をきちんと説明すると誌面が尽きてしまうので、詳しい話はHTMLの参考書を参照してもらうことにして、ここではスクリプトを読むために必要な知識だけを提供する。
TABLEタグで簡単な表を書くためのHTMLは、こんな感じになる。

<TABLE>
<TR>
<TH>見出しA</TH><TH>見出しB</TH>
<TH>見出しC</TH>
</TR>
<TR>
<TD>A1</TD><TD>B1</TD><TD>C1</TD>
</TR>
<TR>
<TD>A2</TD><TD>B2</TD><TD>C2</TD>
</TR>
</TABLE>

このHTMLは、図2のように表示される。<TABLE>〜</TABLE>は、挟まれた内容を表組として解釈することを宣言するタグ。<TR>〜</TR>で挟まれた内容が、表の行として扱われる。<TH>〜</TH>や<TD>〜</TD>で挟まれた内容が、表のセル1つ分の内容になる。前者は見出しとして扱われ、センタリングされたボールド[*3]フォントで表示される。後者が通常のセルの内容だ。それぞれ、背景色や行揃えなどの属性がある。


図2 TABLEを作成するスクリプト「Complex Table」の出力結果。最も単純な表組の例


TOPへ

簡単な表組を作るスクリプト

最初に紹介するのは、簡単な表組のためのスクリプト「Simple Table」。
今回のスクリプトはどれも長いので、実際のスクリプトはSampleScripts Vol.4に収録してあるものを参照してほしい。では、変更・修正を加えるためのポイントになる点を説明する。
初めに、データベースが現在抽出しているレコード数と、データベースのファイル名を取得する。ファイル名のほうは、HTMLのタイトルに利用する。その後は、前回のスクリプト同様、変数の中にHTMLを作っていく。自分のデータベースに合わせるために変更する必要があるのは2カ所。1つは見出しを作成する部分で、以下のようになる。

見出しの作成 》          

set aHTML to aHTML & "<TR BGCOLOR =
#CCEEFF ALIGN=CENTER>" & return

set aHTML to aHTML & "<TH>機種名</TH>" & return

set aHTML to aHTML & "<TH>高さ (mm)</TH>"& return

set aHTML to aHTML & "<TH>幅 (mm)</TH>"& return

set aHTML to aHTML & "<TH>奥行 (mm)</TH>"
& return

set aHTML to aHTML & "</TR>" & return


この<TH>〜</TH>で挟まれている部分が見出しになり、<TH>〜</TH>の組み合わせの数が列数になる。
もう1つの変更個所は、本体であるセルの内容部分だ。

テーブル1行分の作成 》          

set aHTML to aHTML & "<TR BGCOLOR =
#EEFFEE ALIGN=RIGHT>" & return

set aHTML to aHTML & "<TD BGCOLOR=
#CCEEFF ALIGN=LEFT>" & cell "Machine_name"
& "</TD>" & return

set aHTML to aHTML & "<TD>" & cell
"Height" & "</TD>" & return

set aHTML to aHTML & "<TD>" & cell
"Width" & "</TD>" & return

set aHTML to aHTML & "<TD>" & cell
"Depth" & "</TD>" & return

set aHTML to aHTML & "</TR>" & return

この、cell "〜"をファイルメーカーProのデータベース中の表示したいフィールド名に変更する。ここで注意すべき点は、見出しの数とセルの数が合うようにすること。こうして作成したHTMLをWWWブラウザーなどで開いてみよう。表組されたページが表示されるはずだ(図3)。データベースの検索やソートの結果もHTMLに反映される。

図3 スクリプト「Simple Table」を実行した結果を、WWWブラウザーで表示したところ

ちょっと複雑な表組をするスクリプト

TABLEタグの属性の設定次第で、行や列をまたぐセルを作ることができる。その機能を使ったTABLEを作成するスクリプトが、「Complex Table」だ。図4のような出力結果になるが、なかなか凝った表組が可能なことがわかると思う。

図4 スクリプト「Complex Table」を実行した結果をWWWブラウザーで表示したところ

サンプルは、基本的には5行×5列の表だが、行や列をまたぐ設定や、表全体やセルの幅の指定を行うことで、見た目にも凝った表にすることができる(図5)。スクリプト自体はこれまでに紹介してきたものの応用、というか使い回しなので、それほど難しくはないはずだ。


図5 TABLEタグで、行や列をまたぐように指定したセル。このように凝ったHTMLも作れる

こういう凝ったTABLEを作るスクリプトを作成するには、まずTABLEだけを手書きで作っておくのがコツ。
このHTMLを見ながらスクリプトの内容を考えていく。見本があれば、スクリプトにするのはそれほど難しくないはずだ。
このように、TABLEタグを使ってHTMLを記述することで、見やすいページを作成できる。
もちろん、今回紹介したHTMLを作成するスクリプトの見落とせない点は、データをファイルメーカーProで管理できるということだ。ファイルメーカーProの機能でデータの追加/削除も簡単にできるし、表示させたいデータの絞り込みやソートをやっておけば、スクリプトを走らせるだけで、その内容をHTMLに変換してホームページとして表示できる 。
既存のアプリケーションをうまく使うメリットの1つとして、ぜひ覚えておこう。



[*1]
ライブラリー プログラミングに必要な、目的別の部品に相当する関数などをまとめたもの。必要に応じてそれぞれを呼び出したり、組み合わせて使用する。
[*2]
引 数 「ひきすう」と読む。argument。プログラムがサブルーチンや関数などを呼び出すときに引き渡す数値や式のこと。
[*3]
ボールド Boldfaceの略。太字の書体のこと。

TOP

AppleScript救急隊事務局(ASQs) info-asqs@fsight.co.jp

主催 株式会社フォーサイト   後援 アップルコンピュータ株式会社

(c)1996-2010 The ForeSight Inc. All rights reserved.
Appleは、米国アップルコンピュータ社の登録商標です。
AppleScriptは、米国アップルコンピュータ社の商標です。
その他記載の会社名・製品名・ソフトウェア名は一般にその会社の登録商標または商標です。