このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

file maker ver4.0(J) からオブジェクトの書き出しについて

発言者:youichi hiraki
( Date Thursday, May 28, 1998 22:14:25 )


初めまして。全くの初心者です。
ファイルメーカー Pro 4.0(マック)で名前(テキスト)と
写真(オブジェクト)のデータをやく数百ページ程度作成した
ファイルがあります。このファイルからテキストデータは書き
出し出来るのですが、オブジェクトをpictファイル形式かjpg形式
で書き出したいのですけど、どうにかならないものでしょうか?
良い方法があればお教え下さい。

田中求之 さんからのコメント
( Thursday, May 28, 1998 22:56:42 )

写真のデータ(画像データ)自体がセルに入っているんですね?

でしたら、AppleScript を使って一気に書き出してしまうことは可能ですよ。

AppleScript を使ったことはありますか?

youichi hiraki さんからのコメント
( Thursday, May 28, 1998 23:09:02 )

田中さん 早速のアドバイスありがとう御座います。
残念ながら、Apple Script は使った事はありませんが、
良いスクリプトがあればお教え下さい。がんばってやってみます。
スクリプト編集プログラムを使うヤツですよね。
あつかましいお願いで誠にすみませんが宜しくご教授下さい。

田中求之 さんからのコメント
( Monday, June 01, 1998 15:03:43 )

まず最初に、この発言の最後にリンクを張ってあるページから Tanaka's osax 2.0b
をダウンロードして、解凍の後、インストールします。

MacOS 8 以上をお使いの場合は、システムフォルダーにドラッグ&ドロップすれば
正しい場所にインストールされます。System 7.x の場合は、機能拡張フォルダ
の中の「スクリプティング機能拡張」フォルダーの中にいれてください。

続いて、スクリプトの作成。

スクリプト編集プログラムを立ち上げて、まず「編集」メニューの一番下の
書式を選んでください。

そして、出てきたダイアログ(ウィンドウ)の一番下にあるポップアップメニューで
AppleScript 英語表現(表示は違うかも知れません)を選んでから、ダイアログを
閉じてください。

そして、スクリプトをかく欄に

tell application "ファイルメーカー Pro"
  activate
  
  go to cell "PICT" of current record
  copy
  
  set myPict to MT Read Clipboard data type "PICT"
  
  set myFile to new file
  MT Write Pict File myPict to myFile
  
end tell

とかいて、構文確認ボタンを押して、エラーが出なければ、実行してみてください。

ただし、上のスクリプトは、現在のレコードの cell "PICT" に画像が入っている
ものとしていますので、この部分は、ご自分のデータベースに合わせて変更する必要が
あります。

うまくいけば、現在のレコードの画像が PICT ファイルになっているはずです。


で、あとは、これを発展させて、現在のデータベースのすべての画像を自動的に
ファイルの落としていくように改造します。その際のポイントは、ファイル名を
いかにして自動的に決めるか、という点にあります。

田中求之 さんからのコメント
( Tuesday, June 02, 1998 19:57:22 )

あ、Tanaka's osax へのリンクが抜けてましたね (^_^;;

以下のページで落とせます。

→  Tanaka's osax 2.0b

youichi hiraki さんからのコメント
( Friday, June 05, 1998 17:54:33 )

田中様 貴重な情報ありがとう御座いました。さっそく試してみます。
また、pict file osax をインストールした後に、sample ページの
ファイルメーカー3.0用のscript (pict file fmp3.hqx)の中の 
write all pictures.txt を試したところ、これまたうまい具合に作動して
くれました。ただただ驚き感動するばかりです。
本当に助かりました。ありがとう御座いました。