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

ファイルメーカーV4.0から画像を別アプリで開きたい

発言者:yoshiyuki M
( Date Wednesday, June 24, 1998 19:14:22 )


はじめまして。はじめて投稿します。
ファイルメーカー4.0を使いWEBデーターベースなどは作成したことが
ありますが、スクリプトとなるとはじめてですので教えて下さい。
ファイルメーカー4.0のデーターベース上のimagesというフィールドに
画像の名前を書き込み(例 001.tif)それをあるボタンを押したら
その名前の元画像がそのファイルを開くことのできるアプリケーション
で開くというようにしたいのです。
そこで、ファイルメーカー4.0のスクリプト定義で新規スクリプトを
作成し、AppleScriptを実行を選択、オプションの指定をクリックで、
スクリプト記述のところに、
tell application "ファイルメーカーPro"
 set myPath to cell "images" of current record
end tell

if class of myPath = ヌclass fss ネ then
 tell application "Finder" to open myPath
end if
と記入し、実行を押しましたが、まったく動作しません。
どこかまずい所があるのでしょうか?
やはり画像の名前は絶対パス名から書かなくてはいけないのでしょうか?
絶対パス名はどのようにかくのでしょうか?
また、上記のようなことをしたい場合、他に良い方法があるのでしょうか?
初歩的な質問で申し訳ありませんがよろしくお願いします。


田中求之 さんからのコメント
( Thursday, June 25, 1998 01:19:46 )

"images" というセルには、画像のファイル名が入っているのですか? それとも
参照読み込みの画像が入っている(表示されている)のですか?

画像が表示されているセルならば、スクリプトは動くはずです。

ファイル名が入っているセルなのであれば、動きません。



yoshiyuki M さんからのコメント
( Thursday, June 25, 1998 07:49:34 )

田中様
お返事ありがとうございます。
imagesというセルにはファイルの参照データーのみ保存
という形になっています。
ちなみにファイル形式はTIF形式の画像です。
ファイルメーカー3.0ですと、(ファイルメーカーPro got an error:
データーは他のユーザー、スクリプトまたはトランザクションによって
使用されています(エラー-10011))というエラーメッセージがでます。
もう一度お返事をよろしくお願いします。

田中求之 さんからのコメント
( Thursday, June 25, 1998 15:55:08 )

>imagesというセルにはファイルの参照データーのみ保存
>という形になっています。

でしたら、まずデータベースを開いておいて

tell application "ファイルメーカー Pro"
  set myPict to cell "images" of current record
end tell

というスクリプトを実行してみてください。これで、実行結果のウィンドウに

file "Sexus:network:Downed:xx:12.JPG"

というような file "....." の形のデータが表示されることを確認してみて
ください。もしちゃんと file ".... " になっているようでしたら、

tell application "ファイルメーカー Pro"
  set myPict to cell "PICT" of current record
end tell

tell application "Finder" to open myPict

というスクリプトを実行すれば、もとの画像がオープンされるはずですなのですが??

yoshiyuki M さんからのコメント
( Friday, June 26, 1998 13:04:17 )

田中様 お返事ありがとうございます。
確かにファイルメーカProを開き、その外でスクリプトを実行した時
結果のウインドウにデーターが表示されましたので、その後もと画像の
開くスクリプトを実行したらちゃんと元画像が開きました。
ありがとうございます。
しかしファイルメーカー3.0のスクリプト記述の所に同じスクリプトを
記入しボタンを押すとそのスクリプトが実行とすると
どうしてもエラーがおこってしまいます。(ファイルメーカーPro got an error:
データーは他のユーザー、スクリプトまたはトランザクションによって
使用されています(エラー-10011))
どうしてでしょうか?
いま一度お力をお願いいたします。

田中求之 さんからのコメント
( Friday, June 26, 1998 14:04:20 )

ファイルメーカーPro v3 では、ファイルメーカー自身を呼びだす AppleScript
が埋め込めないという問題があります。このことを忘れていました。

解決策として、本当はバージョン4にアップグレードするのがいいのでしょうが、
とりあえずは、スクリプトをアプリケーションとして保存しておいて、それを
実行するスクリプトをファイルメーカーに組み込む、という方法があります。

yoshiyuki M さんからのコメント
( Monday, June 29, 1998 21:06:48 )

田中様 ありがとうございました。
スクリプトをアプリケーションとして保存しておいて、それを
実行するスクリプトをファイルメーカーに組み込んだらうまく
アプリケーションが立ち上がりファイルが開きました。
ほんとうにありがとうございました。
それでもう一つわからない事があるので教えて下さい。
Aというレコードにはボタンを押して開きたい画像が一枚だけですが
Bというレコードにはボタンをおして開きたい画像が三枚あるとします。
imagesというセルと同じ様にimages2,images3というセルを作り
レイアウトでボタンを追加していけばそのボタンを押して別アプリで
ファイルを開く事ができますが、開きたいファイルが一枚だけのレコード
にもこのボタンは見えてしまいます。
できれば、一つのボタンで画像が一枚の時は一枚を
画像が三枚の時は三枚を一度に開ける様にするのはどうしたら良いのでしょうか?
よろしくお願いします。