パソコンとの付き合いは20年以上。最初はWindowsを使っていたが、務めていたソフトウェア開発会社…
Mac OS 関連情報
更新日:2003年04月27日
例えば、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 (* 出来上がった変数をクリップボードへ *) |
関連キーワード[PR]
人気Mac OSの使い方ランキング
Powered by 価格.com
関連キーワード[PR]