みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お疲れ様です。
FM19 WIN10
フォルダ内のcsvをすべてインポートしたいのでフォルダをインポートしたいのですが、csvが選択できません。
何かやり方ないでしょうか。
フォルダのインポートで入る先はオブジェクトフィールド(レコードごとに1ファイルが入る)ですが、それをやりたいわけじゃないですよね?
オブジェクトフィールドに入ってしまうのですか。。
為替差益のcsvファイルをファイルメーカーにインポートしたいのですが、ファイル名がダウンロードした時間でして。
最新の日付の為替差益のcsvファイルを対象にしてインポートしたいところです。
フォルダのインポートがあったので更新にすればうまく動くかな?と思い質問しました。
ファイル名がダウンロードした時間でして。
訂正で時間ではなく日時です。
レコードのインポート > フォルダ指定 では、CSVファイルのインポートはできません。
以下にある様な方法で、フォルダ内のファイル一覧を取得し、1ファイルづつインポートする必要があります。
フォルダ内のファイル数 取得につきまして
https://fm-aid.com/bbs2/viewtopic.php?pid=48583#p48583
Offline
任意のフォルダ内のファイル一覧は、以下でも取得可能です。
fmFileExplorer
https://fm-aid.com/tools/?id=872BF184-9 … 98D9B4E724
Offline
全部でなく「最新の日付の為替差益のcsvファイルを対象にしてインポート」なら、DOSコマンドの方でファイルリストをソートしておけば先頭の1行を使えばいいので、#5のクリップボード使用が手間が少なそうです。
DOSコマンドで「最新のファイルを特定のファイル名にコピー」してしまえば、FM側では固定したファイル名でインポートすればよくなります。
同じ形式のCSVを「全部」なら、DOSコマンドでコピー時に連結できます。
いずれにしろエラー処理はきっちりやらないとだめかな。
qb_dpさん、himadaneeさん
ありがとうございます。
DOSコマンドを試してみたいのですが初めて聞いたワードなので全然わかりません。。
どのような使用方法でしょうか。
リンク先にあるようにスクリプトを書いて
C:\Windows
の所を任意のフォルダパスに変更すれば良いです。
■クリップボード経由
FileMakerスクリプト:
フィールド設定 [cmd::Result; ""]
コピー [選択; cmd::Result]
Event を送信 [「aevt」; 「odoc」; "cmd /c dir \"C:\Windows\" /b /a-d|clip"]
Loop
スクリプト一時停止/続行 [間隔(秒): 1]
貼り付け [選択; cmd::Result]
Exit Loop If [ not IsEmpty ( cmd::Result )]
End Loop
フィールドへ移動 []FileMaker cmd.exe dirコマンドを実行して戻り値を取得。あれこれ。
https://qbxxdp.blogspot.com/2017/04/fil … e-dir.html
Offline
qb_dpさん
詳細までありがとうございます。
フィールド設定の指定フィールドがcmd::Resultになっていますが、このフィールドの作成が必要でしょうか。
フィールド設定の指定フィールドがcmd::Resultになっていますが、このフィールドの作成が必要でしょうか。
クリップボード経由での値の取得になるので、レイアウト上にフィールドが必要です。グローバルフィールドで大丈夫です。
Offline
フィールド設定 [cmd::Result; ""]
コピー [選択; cmd::Result]
Event を送信 [「aevt」; 「odoc」; "cmd /c dir \file:レート情報.csv\" /b /a-d|clip"]
Loop
スクリプト一時停止/続行 [間隔(秒): 1]
貼り付け [選択; cmd::Result]
Exit Loop If [ not IsEmpty ( cmd::Result )]
End Loop
フィールドへ移動 []
こちらをスクリプトに入力してみたところ、ファイル「aevt」が見つからないため処理できませんと表示されました。
パスかどこかが間違っているでしょうか。
単純に入力ミスでした。
スクリプトがエラーなく一通り完了したのであとはインポートするだけでしょうか。
一通り処理が終わってLoopから抜け出しても指定フィールドに何も入らない状況です。。
Event を送信 [「aevt」; 「odoc」; "cmd /c dir \"C:\Windows\" /b /a-d|clip"]
のフォルダパス C:\Windows の部分は、Windows形式のパスで記述する必要があります。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 571.47 KiB (Peak: 588.38 KiB) ]