Resources[Tips]
【連載:Tips_for_FM7】
─第1回:画像/ファイルをパス名指定で取り込む


茂田カツノリ
text by Katsunori Shigeta

画像の自動取込はこれで決まりだ!

画像の一括取込という需要はさまざまな場面で発生する。従来はバージョン3の時代から使えたAppleScriptによる手法や、バージョン6からの「フォルダ内一括取込」を使っていたが、FileMaker 7から新たな手法が使えるようになった。
それは「計算フィールドにテキストでファイルパスを書き、計算結果を[オブジェクト]にする」というもの。こうすると指定したパスの画像をデータベース内に表示できるのだ。たとえばデータベースと同一の階層に置かれた「test.jpg」という画像を取り込みたい場合は、計算フィールドを「"image:test.jpg"」とする。


【このような計算フィールドを作ると、画像の取り込みができる】

この手法ならファイルパスを生成しさえすれば、「参照データのみ保存」と同様に取り込むことが可能。

■パスの書き方を確認しよう

パスの書き方は以下の通り。

●ファイルの形式ごとの違い
画像として取り込む場合は「image:」、QuickTimeは「movie:」、ファイルとして取り込む場合は「file:」を先頭に付ける。ファイルとして取り込んだものは、オブジェクトフィールドをダブルクリックすることで元アプリケーションで開かれる。
例)データベースと同一フォルダにある「word.doc」をファイルとして取り込む
file:word.doc

●フォルダに収納されたファイルを相対指定
「フォルダ名/パス名」という表記でフォルダ名の指定が可能。
例)データベースと同じ階層にある「画像」フォルダ内の「abc.jpg」を画像として表示する。
image:画像/abc.jpg
上位のフォルダを指定する場合は「../」と指定。
例)データベースが配置されているフォルダと同じ階層の「image」フォルダを指定。
image:../image/画像ファイル名

●PC内の指定箇所にあるファイルを絶対指定
パソコン内の指定フォルダを直接示すもので、いわゆる「絶対指定」と呼ばれるもの。WindowsとMacとで指定方法が異なる。
Windowsの場合:「imagewin:絶対パス名」「moviewin:絶対パス名」「filewin:絶対パス名」
Macの場合:「imagemac:絶対パス名」「moviemac:絶対パス名」「filemac:絶対パス名」

●関数との関係は?
この手法で取り込んだ場合は、ファイルの参照データのみを一括取込したものと同じように認識されるようだ。よって「Length関数」でのファイルサイズ取得はできず、また「GetAsText関数」では、画像サイズが取得できない。

(つづく)

Copyright © 2004-2005 sevensdoor.com. All rights reserved.