Mac OS 関連情報

更新日:2003年04月27日

Mac で AppleScript! データベース から 表計算へ

例えば、AppleScript を使って、データベースのデータを表計算ソフトにペーストできるテキストにするってのはどうでしょう?

 Mac でちょっとした書類を作ろうと思ったら、AppleWorks 6 がお手軽ですよね?(バンドルされていればですけど・・)この AppleWorks 6 は 統合ソフトだし、AppleScript 対応 *なので、実はいろいろと面白いことができるんです。

 例えば、データベースのデータを表計算ソフトにペーストできるテキストにするってのはどうでしょう?
 やることは、フィールド毎のデータを取得して、タブ区切りのテキストにするだけです。(下図参照)


↓ このデータベース(日付、分類、内容)を ↓

! 日付と内容だけ書き出します !

* AppleScript について簡単に知りたいときは、ヘルプビューアの
ヘルプセンターから、「AppleScript ヘルプ」を参照して下さい。


データベースデータ取得の基本

 基本的には、“レコード上の特定のデータ”が欲しいわけですよね?でも、Script で書く場合には、“XXX of レコード 1 ”では取れません。見たいレコードは、どのドキュメントのデータベースに含まれるか?というのを明示するようにしてやる必要があります。例えば、「日記.cwk」というドキュメントの「内容」というフィールドがあるとすると、

tell application "AppleWorks 6"
   set myDoc to document "日記.cwk"
   set myRec to record 1 of myDoc
   |内容 | of myRec
end tell

 ・・・ とこんな感じになります。スクリプトエディタ上で実行すると“ 結果ウインドウ ※(制御 ー 結果を表示)で、先頭レコードのテキストが出てきますね。これで、データの取得が成功したわけです。こんな風に、データベースで日本語をラベルとして使っている場合“ |内容| ”のように、“|"(shift + \) で文字を囲む必要があります。
 あと、レコード 1 全体がどういう構成になっているか?を見たい場合は、下から2行目を消して、

tell application "AppleWorks 6"
   set myDoc to document "日記.cwk"
   set myRec to record 1 of myDoc
end tell

 ・・・として、結果ウインドウ で確認しましょう。また、

tell application "AppleWorks 6"
   set myDoc to document "日記.cwk"
   set myRecList to every record of myDoc
end tell

 ・・・とやれば、すべてのレコードがリスト形式でとれますから、これで繰り返し処理を作れば簡単ですね?冒頭で述べたサンプルは以下のコードを実行した後、表計算上でペーストしたものだったのです。

set myText to "" (* 作業用の変数 *)
tell application "AppleWorks 6"
   set myDoc to document "日記.cwk"
   set myRecList to every record of myDoc
   repeat with x in myRecList
      set myText to myText & (|日付 | of x ) & tab & (|内容 | of x ) & return
   end repeat
end tell
set the clipboard to myText (* 出来上がった変数をクリップボードへ *)

1 2
  • 印刷する
  • ブックマークする
  • 携帯に送る
  • ブログに書く

あわせて読みたい

この記事の担当ガイド

写真

木下 幹司

パソコンとの付き合いは20年以上。最初はWindowsを使っていたが、務めていたソフトウェア開発会社…

続きを読む

人気Mac OSの使い方ランキング

Powered by 価格.com

おすすめ記事

メルマガ登録

【デジタルメルマガ】オトナのオトコなら知っておきたい、PCやデジモノに関する情報をお届けします。

All About モバイル

QRコード

All Aboutがケータイで読める!

オススメ記事をメールでチェック