メインコンテンツまでスキップ
バージョン: 19

On After Edit

コード呼び出し元定義
454D View Pro エリア - 4D Write Pro エリア - コンボボックス - フォーム - 入力 - 階層リスト - リストボックス - リストボックス列フォーカスのある入力可能オブジェクトの内容が更新された

説明

一般的なケース

このイベントは、キーボード入力可能なオブジェクトへのデータ入力を最も低レベルでフィルターするために使用できます。

このイベントは、変更がおこなわれた方法に関係なく、入力可能オブジェクトの内容が変更されるたびに生成されます。つまり:

  • ペーストやカット、削除、キャンセルなどの標準の編集アクション
  • 値のドロップ (ペーストと同様のアクション)
  • ユーザーがおこなったキーボードからの入力。この場合、On After Edit イベントは On Before KeystrokeOn After Keystroke イベントの後に生成されます。
  • ユーザーアクションをシミュレートするランゲージコマンドによる変更 (例: POST KEY)。

On After Edit イベント内において、入力テキストは Get edited text コマンドによって返されます。

4D View Pro

FORM Event によって返されるオブジェクトには以下のプロパティが格納されます:

プロパティ説明
codelongintOn After Edit
descriptiontext"On After Edit"
objectNametext4D View Pro エリア名
sheetNametextイベントが発生したシート名
actiontext"editChange", "valueChanged", "DragDropBlock", "DragFillBlock", "formulaChanged", "clipboardPasted"

action プロパティの値に応じて、イベントオブジェクト には追加のプロパティが含まれます。

action = editChange

プロパティ説明
rangeobjectセルのレンジ
editingTextvariantカレントエディターでの値

action = valueChanged

プロパティ説明
rangeobjectセルのレンジ
oldValuevariant変更前のセルの値
newValuevariant変更後のセルの値

action = DragDropBlock

プロパティ説明
fromRangeobjectソースセルレンジ (ドラッグされる範囲) のレンジ
toRangeobject移行先セルレンジ (ドロップされる場所) のレンジ
copybooleanソースレンジがコピーされたかどうかを表します
insertbooleanソースレンジが挿入されたかどうかを表します

action = DragFillBlock

プロパティ説明
fillRangeobject自動入力のために使用されるレンジ
autoFillTypelongint自動入力のために使用される値
  • 0: 全データ (値、書式、フォーミュラ) がセルに入力された
  • 1: 自動シーケンシャルデータがセルに入力された
  • 2: 書式のみがセルに入力された
  • 3: 値のみがセルに入力され、書式は入力されていない
  • 4: セルから値が除去された
  • 5: セルは自動的に入力された
  • action = formulaChanged

    プロパティ説明
    rangeobjectセルのレンジ
    formulatext入力されたフォーミュラ

    action = clipboardPasted

    プロパティ説明
    rangeobjectセルのレンジ
    pasteOptionlongintクリップボードから何をペーストされたかを表します:
  • 0: すべて (値、書式、フォーミュラ) がペーストされた
  • 1: 値のみがペーストされた
  • 2: 書式のみがペーストされた
  • 3: フォーミュラのみがペーストされた
  • 4: 値と書式がペーストされた (フォーミュラはペーストされなかった)
  • 5: フォーミュラと書式のみがペーストされた (値はペーストされなかった)
  • pasteDataobjectクリップボードからペーストされるデータ
  • "text" (テキスト): クリップボードからのテキスト
  • "html" (テキスト): クリップボードからの HTML
  • 例題

    以下は On After Edit イベントを管理する例です:

     If(FORM Event.code=On After Edit)
    If(FORM Event.action="valueChanged")
    ALERT("WARNING: You are currently changing the value\
    from "+String(FORM Event.oldValue)+\
    " to "+String(FORM Event.newValue)+"!")
    End if
    End if

    上記のコードにより生成されたイベントオブジェクトは、以下のような形式をしています:

    {

    "code":45;
    "description":"On After Edit";
    "objectName":"ViewProArea"
    "sheetname":"Sheet1";
    "action":"valueChanged";
    "range": {area:ViewProArea,ranges:[{column:1,row:2,sheet:1}]};
    "oldValue":"The quick brown fox";
    "newValue":"jumped over the lazy dog";
    }