Tips一覧に戻る
FileMakerスクリプトフィールド設定

貼り付けは可能・直接入力は不可のフィールドをスクリプトトリガで実現する

ToE Inc.

「コピーして貼り付けるだけにしたい」「直接タイピングで書き換えられると困る」という場面があります。フィールドの入力制限と OnObjectKeystroke トリガを組み合わせることで、貼り付けのみを許可するフィールドを作れます。

設定手順

① フィールドの入力設定を変更する

対象フィールドを選択 →「フィールド入力設定」→「ブラウズモード」をオンにします。

これでフィールドにフォーカスが当たりクリックできる状態になります。

② OnObjectKeystroke トリガにスクリプトを設定する

フィールドの「スクリプトトリガ」から OnObjectKeystroke を選び、以下のスクリプトを割り当てます。

エラー処理 [ オン ]

If [ Get ( トリガキー入力 ) = Char ( 9 ) ]
    // Tab キー:次のフィールドへ移動(通常通り)
    現在のスクリプト終了 [ テキスト結果: "" ]

Else If [ Get ( トリガキー入力 ) = 0 ]
    // 貼り付けなどの特殊操作:キャンセルしない
    現在のスクリプト終了 [ テキスト結果: False ]

Else
    // 文字キー入力:元に戻してブロック
    元に戻す / 再実行 [ 元に戻す ]

End If

エラー処理 [ オフ ]

スクリプトの動作解説

条件動作意図
Tab(Char(9))そのまま終了通常のフォーカス移動を許可
キー入力値が 0False で終了せずキャンセルペースト操作(Cmd+V)を通す
それ以外の文字入力元に戻す直接タイピングをブロック

ポイント

  • ペースト操作(Cmd+V / Ctrl+V)は Get ( トリガキー入力 )0 を返すため、このスクリプトではブロックされず通過します。
  • 「元に戻す」はキー入力直後に実行されるため、ユーザーには文字が入力できないように見えます。
  • フィールドの「編集不可」設定だけではペーストも禁止されてしまうため、このトリガによるアプローチが有効です。