みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
いつもお世話になっております。
年度/得意先名/伝票番号というディレクトリで作業フォルダを構成し実務に当たっています。
FileMakerには伝票番号ごとにレコードがあり、年度、得意先名、伝票番号のフィールドがあります。
そのフィールド内容を;区切りで並べて、FileMakerからApple Scriptで作業フォルダを作成したり開いたりできるようにしています。
作業完了後、フォルダ内のファイル名を保存しておいて、次からは作業フォルダを開かなくてもFileMakerからいきなりファイルを開けるようにしています。
方法(スクリプトの中身)としては、以下のような感じです。
1. 作業フォルダ内のファイル名をApple Scriptでクリップボードにコピー
2. FileMaker内の仮置きフィールドに貼り付け
3. 1行ずつファイルテーブルの子レコードを作る
この現在の仕組みですと、作業者が他の作業でクリップボードに保存していた文字列が更新されてしまっていることに気づかず、ファイル名をペーストしてしまうという問題がときどき起こります。
クリップボードを使わずにFileMakerへのファイル名の取り込み行う方法はないでしょうか。
よろしくお願いします。
Last edited by fpck (2024-02-19 15:20:43)
Offline
>3. 1行ずつファイルテーブルの子レコードを作る
これをやるなら、「フォルダのインポート」すれば、1ファイルごとに1レコードは作れますよね。ファイルタイプに問題がある?
himadaneeさま
ありがとうございます。
フォルダのインポートでオブジェクトフィールドにファイルを保存するということでしょうか?
MacのFinderでファイルを開く場合もありますので、開く時のファイルパスとして利用するファイル名だけをFileMakerに取り込みたいのですが、そのようにできますか?
Offline
補足ですが、作業フォルダに含まれるファイルの形式はPDFやJPG、エクセルなど様々です。
Offline
ファイルのフォルダの一括インポート
を参照されるといいでしょう。
xls は別途考える必要があるでしょうね。
Offline
AppleScriptから直接 FileMakerのフィールドへ値を設定できます。
set cell "フィールド名" of current record to ”値”
Offline
ああ、フォルダのインポートは全ファイルをインポートというのは無くて2種類からしか選べないんでしたね。。。
インポート自体はフィールドを選べるのでオブジェクトフィールドは不要で、パスだけテキストフィールドにインポートすればいいんですが。。。
AppleScriptに強いなら、レコードの作成から全部やってしまえば、すっきりするかもね。
それか、
1. 作業フォルダ内のファイル名一覧をApple Scriptで(作業フォルダ内かテンポラリフォルダなどに)テキストファイルで作成
2.そのテキストファイルをインポート
でいいでしょう。
qb_dpさまのアドバイスをもとにAppleScriptを改変したらやりたいことが実現できました。
windowsでも動かす必要が今後あるかもしれないのでファイルのフォルダの一括インポートもまた勉強しておきたいと思います。
みなさんありがとうございました。
Offline
[ Generated in 0.016 seconds, 9 queries executed - Memory usage: 518.66 KiB (Peak: 523.56 KiB) ]