Claris FileMaker のスクリプトステップ「現在のスクリプト終了」の「テキスト結果」に文字列を設定することによって、呼び出し元スクリプトにその文字列を返すことができます。
今回はその「現在のスクリプト終了」の「テキスト結果」に設定された文字列、すなわち「スクリプトの結果」の基本的な使い方から、その活用方法までを解説したいと思います。
基本的な使い方
スクリプトステップ「現在のスクリプト終了」の「テキスト結果」に設定した文字列がスクリプトの結果となります。
スクリプトの結果には計算式を指定できますので、状況に応じてスクリプトの結果を任意で設定することができます。
「スクリプト実行」スクリプトステップで別のスクリプト(以降サブスクリプトと呼びます)を呼び出し、そのサブスクリプトが「現在のスクリプト終了」で終わり、呼び出し元スクリプトに戻ってきた時に、「Get ( スクリプトの結果 )」 関数を使うことによって、サブスクリプトの「現在のスクリプト終了」の「テキスト結果」に設定した文字列を取得することができます。
使用例
テストスクリプト(呼び出し元スクリプト)
スクリプトA(サブスクリプト)
上記の2つのスクリプトがあった場合、テストスクリプトを実行すると、カスタムダイアログに「OK」と表示されます。
スクリプトの結果を使う場面
同じ処理を複数の別々のスクリプトで実行する場合、同じ一連のスクリプトステップを何度も書く必要があります。こうした場合、処理を行うスクリプトを個別に作成し、「スクリプト実行」のスクリプトステップで呼び出すことが効果的です。これにより、サブスクリプトの「現在のスクリプト終了」の「テキスト結果」に処理結果を設定でき、処理を一元管理することが可能です。こうした状況では、スクリプトの結果が重要な機能となります。
スクリプトの結果を取得できないケース
・サーバー上のスクリプト実行で「終了するまで待つ:オフ」の場合
・サブスクリプトで「現在のスクリプト終了」の「テキスト結果」に値を設定できないとき
(例えば、別ファイルのスクリプトを実行し、スクリプトの最後がウインドウを閉じるや、ファイルを閉じるが設定されていて、「現在のスクリプト終了」でスクリプトを終了できないような場合)
注意点
以下の注意点は、すべてスクリプト内に複数のサブスクリプトが設定されている例です。
・「現在のスクリプト終了」の「テキスト結果」になにも設定しないと、スクリプトの結果は上書きされない
・「現在のスクリプト終了」の「テキスト結果」に「””」を設定すると、スクリプトの結果は空で上書きされる
・スクリプト一つに対して保持できるスクリプトの結果は、最後に設定されたスクリプトの結果のみ
以下は「テストスクリプト」という名前のスクリプトの内容
スクリプトBの「現在のスクリプト終了」の「テキスト結果」が空欄の場合は、「Get ( スクリプトの結果 )」で取得できる値は、スクリプトAの「現在のスクリプト終了」の「テキスト結果」になります。
スクリプトBの「現在のスクリプト終了」の「テキスト結果」が「””」場合は、「Get ( スクリプトの結果 )」で取得できる値は、スクリプトBの「現在のスクリプト終了」の「テキスト結果」、すなわち空の文字列となります。
まとめ
サブスクリプトを使用する際は、スクリプトの結果が非常に便利です。サブスクリプト内で処理され、呼び出し元のスクリプトに返ってきた文字列を利用して、分岐処理を行うこともできます。
「スクリプトの結果」を使用する際には、有効なシーンや使い方、注意点などを理解し、適切に活用できるようにしましょう。