初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2022-11-15 11:53:20

あきとん
Guest

フォルダインポート csv

お疲れ様です。

FM19 WIN10

フォルダ内のcsvをすべてインポートしたいのでフォルダをインポートしたいのですが、csvが選択できません。
何かやり方ないでしょうか。

#2 2022-11-15 13:01:10

himadanee
Guest

Re: フォルダインポート csv

フォルダのインポートで入る先はオブジェクトフィールド(レコードごとに1ファイルが入る)ですが、それをやりたいわけじゃないですよね?

#3 2022-11-15 16:28:22

あきとん
Guest

Re: フォルダインポート csv

オブジェクトフィールドに入ってしまうのですか。。
為替差益のcsvファイルをファイルメーカーにインポートしたいのですが、ファイル名がダウンロードした時間でして。
最新の日付の為替差益のcsvファイルを対象にしてインポートしたいところです。
フォルダのインポートがあったので更新にすればうまく動くかな?と思い質問しました。

#4 2022-11-15 16:29:42

あきとん
Guest

Re: フォルダインポート csv

ファイル名がダウンロードした時間でして。

訂正で時間ではなく日時です。

#5 2022-11-15 17:03:31

qb_dp
Member

Re: フォルダインポート csv

レコードのインポート > フォルダ指定 では、CSVファイルのインポートはできません。

以下にある様な方法で、フォルダ内のファイル一覧を取得し、1ファイルづつインポートする必要があります。

フォルダ内のファイル数 取得につきまして
https://fm-aid.com/bbs2/viewtopic.php?pid=48583#p48583

Offline

#6 2022-11-16 10:17:14

qb_dp
Member

Re: フォルダインポート csv

任意のフォルダ内のファイル一覧は、以下でも取得可能です。

fmFileExplorer
https://fm-aid.com/tools/?id=872BF184-9 … 98D9B4E724

Offline

#7 2022-11-16 10:30:01

himadanee
Guest

Re: フォルダインポート csv

全部でなく「最新の日付の為替差益のcsvファイルを対象にしてインポート」なら、DOSコマンドの方でファイルリストをソートしておけば先頭の1行を使えばいいので、#5のクリップボード使用が手間が少なそうです。

DOSコマンドで「最新のファイルを特定のファイル名にコピー」してしまえば、FM側では固定したファイル名でインポートすればよくなります。
同じ形式のCSVを「全部」なら、DOSコマンドでコピー時に連結できます。

いずれにしろエラー処理はきっちりやらないとだめかな。

#8 2022-11-17 09:54:54

あきとん
Guest

Re: フォルダインポート csv

qb_dpさん、himadaneeさん
ありがとうございます。

DOSコマンドを試してみたいのですが初めて聞いたワードなので全然わかりません。。
どのような使用方法でしょうか。

#9 2022-11-17 10:36:51

qb_dp
Member

Re: フォルダインポート csv

リンク先にあるようにスクリプトを書いて
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

#10 2022-11-17 11:30:28

あきとん
Guest

Re: フォルダインポート csv

qb_dpさん
詳細までありがとうございます。
フィールド設定の指定フィールドがcmd::Resultになっていますが、このフィールドの作成が必要でしょうか。

#11 2022-11-17 11:47:27

qb_dp
Member

Re: フォルダインポート csv

フィールド設定の指定フィールドがcmd::Resultになっていますが、このフィールドの作成が必要でしょうか。

クリップボード経由での値の取得になるので、レイアウト上にフィールドが必要です。グローバルフィールドで大丈夫です。

Offline

#12 2022-11-17 13:29:32

あきとん
Guest

Re: フォルダインポート csv

フィールド設定 [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」が見つからないため処理できませんと表示されました。
パスかどこかが間違っているでしょうか。

#13 2022-11-17 13:37:11

あきとん
Guest

Re: フォルダインポート csv

単純に入力ミスでした。
スクリプトがエラーなく一通り完了したのであとはインポートするだけでしょうか。

#14 2022-11-17 13:47:46

あきとん
Guest

Re: フォルダインポート csv

一通り処理が終わってLoopから抜け出しても指定フィールドに何も入らない状況です。。

#15 2022-11-17 15:12:44

qb_dp
Member

Re: フォルダインポート csv

Event を送信 [「aevt」; 「odoc」; "cmd /c dir \"C:\Windows\" /b /a-d|clip"]

のフォルダパス C:\Windows の部分は、Windows形式のパスで記述する必要があります。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 7 queries executed - Memory usage: 571.26 KiB (Peak: 588.16 KiB) ]