説明
一般的なケース
このイベントは、キーボード入力可能なオブジェクトへのデータ入力を最も低レベルでフィルターするために使用できます。
このイベントは、変更がおこなわれた方法に関係なく、入力可能オブジェクトの内容が変更されるたびに生成されます。つまり :
ペーストやカット、削除、キャンセルなどの標準の編集アクション
値のドロップ (ペーストと同様のアクション)
ユーザーがおこなったキーボードからの入力。この場合、On After Edit
イベントは On Before Keystroke
と On After Keystroke
イベントの後に生成されます。
ユーザーアクションをシミュレートするランゲージコマンドによる変更 (例: POST KEY
)。
On After Edit
イベント内において、入力テキストは Get edited text
コマンドによって返されます。
4D View Pro
FORM Event
によって返されるオブジェクトには以下のプロパティが格納されます:
プロパティ タイプ 説明
code 倍長整数 On After Edit
description テキスト "On After Edit"
objectName テキスト 4D View Pro エリア名
sheetName テキスト イベントが発生したシート名
action テキスト "editChange", "valueChanged", "DragDropBlock", "DragFillBlock", "formulaChanged", "clipboardPasted"
action
プロパティの値に応じて、イベントオブジェクト には追加のプロパティが含まれます。
action = editChange
プロパティ タイプ 説明
range object セルのレンジ
editingText variant カレントエディターでの値
action = valueChanged
プロパティ タイプ 説明
range object セルのレンジ
oldValue variant 変更前のセルの値
newValue variant 変更後のセルの値
action = DragDropBlock
プロパティ タイプ 説明
fromRange object ソースセルレンジ (ドラッグされる範囲) のレンジ
toRange object 移行先セルレンジ (ドロップされる場所) のレンジ
copy boolean ソースレンジがコピーされたかどうかを表します
insert boolean ソースレンジが挿入されたかどうかを表します
action = DragFillBlock
プロパティ タイプ 説明
fillRange object 自動入力のために使用されるレンジ
autoFillType longint 自動入力のために使用される値0: 全データ (値、書式、フォーミュラ) がセルに入力された 1: 自動シーケンシャルデータがセルに入力された 2: 書式のみがセルに入力された 3: 値のみがセルに入力され、書式は入力されていない 4: セルから値が除去された 5: セルは自動的に入力された fillDirection longint 自動入力の方向0: 左側のセルに自動入力された 1: 右側のセルに自動入力された 2: 上側のセルに自動入力された 3: 下側のセルに自動入力された
action = formulaChanged
プロパティ タイプ 説明
range object セルのレンジ
formula テキスト 入力されたフォーミュラ
action = clipboardPasted
プロパティ タイプ 説明
range object セルのレンジ
pasteOption 倍長整数 クリップボードから何をペーストされたかを表します:0: すべて (値、書式、フォーミュラ) がペーストされた 1: 値のみがペーストされた 2: 書式のみがペーストされた 3: フォーミュラのみがペーストされた 4: 値と書式がペーストされた (フォーミュラはペーストされなかった) 5: フォーミュラと書式のみがペーストされた (値はペーストされなかった)
pasteData object クリップボードからペーストされるデータ"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" ;
}