ファイルメーカーのスクリプト起動時に、引数を1つ設定するのは簡単です。
これを複数設定するときに、よく使うパターンを2つ記事にしておきます。
引数を改行区切りで渡す
引数のイメージは下記のコードのようになります。
1 2 3 4 |
"引数1" & "¶" & "引数2" & "¶" & "引数3" & "¶" & "引数4" |
受け取り側のコードは下記のようなコードになります。
1 2 3 4 |
変数を設定 [$引数1; 値:GetValue(Get(スクリプト引数);1)] 変数を設定 [$引数2; 値:GetValue(Get(スクリプト引数);2)] 変数を設定 [$引数3; 値:GetValue(Get(スクリプト引数);3)] 変数を設定 [$引数4; 値:GetValue(Get(スクリプト引数);4)] |
改行区切りで引数を渡すときの注意点
引数として設定した値の中に、改行が含まれる場合、受け取り側でGetValueの値番号がズレてしまいます。
また引数1~4までの値のうち、空白の引数が存在する場合も同様にズレが発生します。
かならず値が存在する、かつ改行が含まれない場合のみ利用できます。
引数をJSONで渡す
引数としてJSONを作成して渡します。
改行区切りで引数を渡すより値内容に左右されないため、最近はこちらの方法を多用しています。
Param1~Param4がキーとして、引数値1~引数値4を設定します。
1 2 3 4 5 6 7 8 9 10 |
変数を設定 [$引数; 値: JSONSetElement(""; ["Param1";"引数値1";JSONString]; ["Param2";"引数値2";JSONString]; ["Param3";"引数値3";JSONString]; ["Param4";"引数値4";JSONString] ) ] |
受け取り側のコードは下記のようなコードになります。
1 2 3 4 |
変数を設定 [$引数1; 値:JSONGetElement(GET(スクリプト引数);"Param1")] 変数を設定 [$引数2; 値:JSONGetElement(GET(スクリプト引数);"Param2")] 変数を設定 [$引数3; 値:JSONGetElement(GET(スクリプト引数);"Param3")] 変数を設定 [$引数4; 値:JSONGetElement(GET(スクリプト引数);"Param4")] |
まとめ
引数を複数設定する例として記載しましたが、処理結果を受け取る場合にも同様に利用することができます。
もっと良い方法があれば、だれかコメントで教えてください(-_-;)