プロが教えるわが家の防犯対策術!

ファイルメーカーでデザイン画像を管理しています。
1レコードあたり1点のJPEGを1つのフィールドに「参照のみ保存」で管理しています。
日付や内容等で検索をかけた後、複数のレコードのJPEGをまとめて書き出したいのですが、なにか方法がありますでしょうか?
あるいは「フィールド内容のエクスポート」でまとめて書き出すには、どのようにすればいいでしょうか。
今、現在は1点づつ書きだしている状態で、点数が多くなると非常に時間がかかってしまいます。
スクリプト等の機能で改善する方法は無いでしょうか?
Mac OS 10.6、FileMaker Pro Ver10の環境で作業をしています。

A 回答 (7件)

デスクトップにあるaaaというフォルダに対象レコードのオブジェクトフィールドを書き出す例です。


画像名は「画像名」というフィールドに入っているとします。

・レコードへ移動/最初の
・Loop
・変数を設定 
  名前「$p」 
  値「"filemac:/Macintosh HD/Users/ユーザ名を入れる/Desktop/aaa/" & 画像名
・フィールド内容のエクスポート ターゲットはそのオブジェクトフィールド 
  出力ファイルの指定欄に$pと手入力
・レコードへ移動/次の/最後まで来たら終了
・End Loop
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
変数を設定、値のところで「指定されたテーブルがみつかりません」のダイアログが出てきます。
ユーザー名、ハードディスク名、指定フォルダー名には間違いは無いのですが…
ここを解決できたら、うまくいきそうなのですが、どのようにすればよろしいでしょうか。
すいませんが、引き続きご回答のほどお願いします。

お礼日時:2012/09/12 19:47

変数で設定するパスを間違うとそのアラートが出ます。



photexportが実際にはphotoexportになっているとか?
End Loopも無いですよ。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
End Loopの部分はさきほど、ペーストし忘れていただけでした。
原因をさぐったところ、Macではなくファイルメーカーでのユーザー名を入れていたのが問題となっていました。
おかげさまでNo.1の回答と合わせて画像を拡張子付きで書き出すことが出来ました。
この度は本当にありがとうございました。

お礼日時:2012/09/13 21:28

1.変数を設定 [ $p; 値:"filemac:/Macintosh HD/Users/○○○○○/Desktop/photexport/" &デザイン管理::デザイン ]


2.フィールド内容のエクスポート [ デザイン管理::デザイン; 「$p」 ]
どちらも デザイン管理::デザインになってますよね。
1の方は画像名フィールドです。(エクスポートするとファイル名になる)
2はオブジェクトフィールドを指定します。

オブジェクトフィールドの内容をその画像名を付けてエクスポートすると
いうことになります。
手動(オブジェクトフィールドを右クリック)でエクスボートできますか。
それと同じです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
もう少しで解決しそうなのですが、うまくいきません。
今度は"「ABCDE」(ファイル名です)をこのディスク上に作成できませんでした。ファイル名を変更、ディスクの空き容量を増加、ロックを解除、または他のディスクを使用してください。」とダイアログが出てきました。
250KほどのJPEG1点ですのでディスクの空き容量が不足してるとは思えません。
空き容量は350Gある状態です。
なお、今度は元の画像がなくなることはありませんでした。
大変申し訳ありませんが、引き続き教えていただけますでっしょうか。

スクリプトは下記のようになっています。
レコード/検索条件/ページへ移動 [ 最初の ]
Loop
変数を設定 [ $p; 値:"filemac:/Macintosh HD/Users/○○○○○/Desktop/photexport/" &デザイン管理::個別デザイン番号 ] フィールド内容のエクスポート [ デザイン管理::デザイン; 「$p」 ]
レコード/検索条件/ページへ移動 [ 次の; 最後まできたら終了 ]

お礼日時:2012/09/13 14:27

>また対象となていたレコードの画像が無くなっている状態となってしまいました。


フィールド内容のエクスポートで画像が無くなることはありません。
参照保存していたわけですから、元画像やそのFMファイルを移動したりなどして
元画像とのリンクが切れたのでは?

この回答への補足

ご回答ありがとうございます。
以下のようにしましたが、うまくいきませんでした。(どこか間違えていますでしょうか?)

レコード/検索条件/ページへ移動 [ 最初の ]
Loop
変数を設定 [ $p; 値:"filemac:/Macintosh HD/Users/○○○○○/Desktop/photexport/" &デザイン管理::デザイン ] フィールド内容のエクスポート [ デザイン管理::デザイン; 「$p」 ]
レコード/検索条件/ページへ移動 [ 次の; 最後まできたら終了 ]
「デザイン」の部分が画像を入れているフィールドです。

実行後、"ファイル「※※※※※※.jpg」が見つからなかったため処理を完了できません。"のダイアログが出て、OKを押すと「前のスクリプトコマンド"フィールド内容のエキスポート"はエラーが発生したために完了できませんでした。このスクリプトを続行しますか?」のダイアログが出てきて、OKを押すと、画像はエキスポートされておらず、元の画像もなくなっている状態でした。
画像には分かりやすい名前を付けていたので、検索してもハードディスク内には見当たらない状態でした。
また元のフォルダーにも画像がなく、リネームされた状態でも有りませんでした。

引き続き、アドバイスお願いできますでしょうか。

補足日時:2012/09/13 09:11
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
画像が移動したのかと思い検索したのですが出てきませんでした。
仕方なくバックアップからもってきて対応しました。
なにかの手違いでリネームされてしまったのかなとかと考えたのですが、探した限り、それらしき痕跡も見当たらなかったです。

お礼日時:2012/09/12 23:14

No.1です。

書き込むときに試してみたのですが、ファイルメーカーのデータベースファイル(アプリケーションではない)からの相対パスが認識しました。No.1の例は、データベースファイルと同じ階層にpictというフォルダを作った場合のものです。

フィールド内容のエクスポート [テーブル::オブジェクトフィールド; ~
の方のエラーでしたら、普通に式を入れるときにフィールド名を指定するように、フィールドの名前をクリックして入れます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
お礼が遅くなりました。
勉強不足もありご迷惑をおかけしましたが、無事解決しました。

お礼日時:2012/09/13 21:30

"filemac:/Macintosh HD/Users/ユーザ名を入れる/Desktop/aaa/" & 画像名


画像名の入ったフィールドはあるのですか?
「画像名」の部分は左上のフィールド一覧で適切なフィールドを
ダブルクリックしてください。「テーブル名::画像名」などとなるはずです。
対象レコード内に画像名が同じレコードがあると上書きされますので要注意。

この回答への補足

ご回答ありがとうございます。
ご指摘の方法で「指定されたテーブルがみつかりません」のダイアログは出なくなりました。
さっそくスクリプトを試してみたのですが、結論から言えばうまくいきませんでした。
また対象となていたレコードの画像が無くなっている状態となってしまいました。
ハードディスク内を検索しても画像が無い状態でした。
仕事の都合上、一度テストしただけで、なにが間違っているかを検証する時間がなかったので、あすもう一度確認させていただきます。
ファイルメーカー意外に難しく、苦戦しています…。

補足日時:2012/09/12 22:19
    • good
    • 0

次のものが参考になります


http://forums.filemaker.com/posts/fed894162f

Windows用なので少し変更の必要があります。
変数を設定 [$ファイルパス; 値: "イメージ\\" & Get (レコード番号) & "_" & テーブル::オブジェクトフィールド]
で値:のところに入っている
"イメージ\\" & Get (レコード番号) & "_" & テーブル::オブジェクトフィールド
が出力ファイルの名前になります。
"pict/"&Get (レコード番号) & ".jpg"
の様な感じでMacに適合したファイルパス名にしてやれば良いです。取り込んだフィイル名とは全く関係なく指定した名前になります。名前が重ならないようにGet (レコード番号)が入っています。

フィールド内容のエクスポート [テーブル::オブジェクトフィールド; 「$ファイルパス」]
の方は、テーブル::オブジェクトフィールドはオブジェクトフィールド名前です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
No.2の方の回答と合わせて、後少しで解決できそうなのですが、なにぶんファイルメーカーに詳しくなく、悪銭苦闘しています。
参照ページと合わせて頑張ってみます。

お礼日時:2012/09/12 19:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す