スクリプトトリガの設定
スクリプトトリガを設定して、イベントの発生時にスクリプトを実行するように指定することができます。たとえば、スクリプトトリガを使用して、別のフィールドに入力された内容を元にデータがフィールドに自動入力されるスクリプトを実行することが可能です。
スクリプトトリガの中には、データベースエンジンによるイベントの処理前にスクリプトが実行されるものがあります。一方で、データベースエンジンによるイベントの処理後にスクリプトが実行されるスクリプトトリガもあります。たとえば、OnObjectEnter スクリプトトリガを使用すると、フィールドへの入力後にスクリプトを実行することができます。フィールドはオブジェクトですので、フィールドへの入力はイベントとなるためです。
スクリプトトリガは、ユーザの操作、またはスクリプトで実行します。たとえば、フィールドへの入力後にスクリプトを実行する OnObjectEnter スクリプトトリガを実行するには、ユーザがこのスクリプトトリガをクリックするか、または [オブジェクトへ移動] スクリプトステップを使用します。
実行するスクリプトトリガを設定する方法:
- 特定のレイアウトに移動する場合。レイアウトのスクリプトトリガの設定を参照してください。
- レイアウト上のオブジェクトに移動、オブジェクトから移動、または変更する場合。オブジェクトのスクリプトトリガの設定を参照してください。
- ファイルを開く場合、ファイルを閉じる場合、またはメディアファイルの再生状態が変更する場合。詳細については、ファイルオプションの設定を参照してください。
スクリプトトリガが割り当てられているレイアウトオブジェクトおよびレイアウトを確認するには、レイアウトモードで [表示] メニュー > [オブジェクト] > [スクリプトトリガ] を選択します。
次のスクリプトトリガを使用できます:
トリガ領域 |
スクリプトトリガ |
処理前 |
処理後 |
オブジェクト |
X |
||
X |
|
||
X |
|||
X |
|
||
|
X |
||
X |
|||
X |
|
||
|
X |
||
レイアウト |
X |
||
X |
|||
X |
|
||
X |
|
||
X |
|||
X |
|
||
|
X |
||
|
X |
||
X |
|
||
|
X |
||
X |
|
||
|
X |
||
ファイルオプション |
|
X |
|
X |
|
||
|
X |
||
X |
|
||
|
X |
スクリプトトリガのタイミング
同じイベントで複数のスクリプトトリガが実行されると、スクリプトトリガは次の相対順で実行されます:
- OnFirstWindowOpen
- OnWindowOpen
- OnLayoutEnter
- OnModeEnter
- OnRecordLoad
- OnLayoutSizeChange
- OnViewChange
次のスクリプトトリガでは、トリガイベントによって順序が制御されます:
- OnObjectEnter
- OnObjectKeystroke
- OnLayoutKeystroke
- OnGestureTap
- OnObjectAVPlayerChange
- OnFileAVPlayerChange
- OnExternalCommandReceived
- OnPanelSwitch
- OnObjectModify
- OnObjectValidate
- OnObjectSave
- OnObjectExit
- OnRecordCommit または OnRecordRevert
- OnModeExit
- OnLayoutExit
- OnWindowClose
- OnLastWindowClose
メモ
- スクリプトトリガで実行されるスクリプトは、既存のアクセス権限を利用します。スクリプトが完全アクセス権で実行されるように定義されていない限り、スクリプトはユーザのアクセス権限で実行されます。
- カスタム Web 公開および FileMaker Data API では、スクリプトトリガを実行できるのはスクリプトに限られ、ユーザの直接操作では実行できません。カスタム Web 公開および FileMaker Data API では FileMaker クライアントのユーザインターフェースを使用してデータにアクセスしないため、ユーザはスクリプトトリガを直接実行できませんが、スクリプトステップによってフィールドへの移動がフォーカスされると、スクリプトトリガが実行されます。
- 一部のスクリプトトリガでは、偽の値を返すスクリプトトリガでスクリプトが実行された場合、イベントのトリガをキャンセルすることができます。この方法でコマンドまたはイベントがキャンセルされた場合はエラーコードは 20 に設定されます。詳細については、Get (最終エラー) 関数を参照してください。OnLastWindowClose スクリプトトリガで実行されたスクリプトが偽の値を返した場合、ファイルは閉じません。
- Windows: Alt と Ctrl キーの組合せはスクリプトトリガをアクティブにしません。
- macOS: command キーの組合せはスクリプトトリガをアクティブにしません。