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

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

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

You are not logged in.

Announcement

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


#1 2016-10-12 19:16:17

dds
Member

Eventを送信 アプリ終了後に次のスクリプトを実行させたい

OS:[Windows10] FileMaker Ver:[15]

「Eventを送信」で、他ソフトでcsvファイルを作成するexeファイルを実行させ、
その後に、作成したcsvファイルをインポートしたいと考えています。
現状では、csvファイルが作成される前に、インポートが実行されてしまい、ファイルがないとエラーが出ます。
自動的にcsvファイルが出来上がったのを確認し、その後、次のスクリプトに移る様な方法は何かないでしょうか?
ご教示いただければ幸いです。
よろしくお願いいたします。

Last edited by dds (2016-10-12 19:23:02)

Offline

#2 2016-10-12 19:48:38

qb_dp
Member

Re: Eventを送信 アプリ終了後に次のスクリプトを実行させたい

>他ソフトでcsvファイルを作成するexeファイルを実行させ
そのファイルが、csvを書き出し後、終了するのであれば、

PowerShell経由で実行する方法:

「スクリプト:Return」を作成し、インポート スクリプトの記述をします。

Event を送信 は、以下のように記述。notepad.exe のところを対象のアプリケーションに書き換えて下さい。ファイル名:test も任意で書き換えてください。

Event を送信 [「aevt」; 「odoc」; 「 powershell -command notepad.exe | out-null;start fmp:test?script=Return」]

上記の例では、notepad.exe が、開き、手動で閉じるとFMPプロトコルで ファイル:test のスクリプト:Return が実行されます。

※対象のアプリケーションの記述は、フルパスを記述する必要があります。

Last edited by qb_dp (2016-10-12 19:52:57)

Offline

#3 2016-10-12 20:14:18

qb_dp
Member

Re: Eventを送信 アプリ終了後に次のスクリプトを実行させたい

>他ソフトでcsvファイルを作成するexeファイルを実行させ
そのファイルが、csvを書き出し後、終了しない場合で、
FileMakerの機能のみで実行するには、

ファイルを挿入 で、2行ファイルパスを記述します。
1行目は、目的のCSVファイル
2行目は、error.txt (なんでもイイのですが、ココでは、error.txtとします。)

このように「ファイルを挿入」で2行記述すると、1行目がなければ、2行目のファイルを読み込みます。
なので、以下のようにLoopで回し、$FileName が、"error.txt" でなくなれば、1行目のファイルの存在を確認できます。


Event を送信 [「aevt」; 「odoc」; 「csvファイルを作成するexe」]
Loop   
ファイルを挿入 [
filewin:/C:/XXXXX/Import.csv
filewin:/C:/Users/user/Desktop/!TEMP/error.txt
]   
変数を設定 [$FileName; 値:test::obj]   
Exit Loop If [$FileName ≠ "error.txt"]   
スクリプト一時停止/続行 [間隔(秒): .5]
End Loop   
インポートスクリプト

※2行目のファイル、error.txt は、必ず存在する事が前提です。テンポラリーフォルダに書き出して使用するのが良いでしょう。
上記のサンプルは、無限ループを考慮していません。Exit Loop If [$n > $MAX]    などを入れて、無限ループ対策もしておいた方が良いです。

Last edited by qb_dp (2016-10-12 20:22:35)

Offline

#4 2016-10-14 10:10:14

dds
Member

Re: Eventを送信 アプリ終了後に次のスクリプトを実行させたい

詳しくご教示いただいイて、ありがとうございました。
exeファイルはCSVファイル書き出し後、終了しますので、最初の案で作成させていただきました。
本当にありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 509.05 KiB (Peak: 515.84 KiB) ]