4D v17 R4では、4D View Proに新機能が追加され、その1つがコードによるレンジの作成です。
まず、プログラミングでセルを操作するために、範囲オブジェクトを定義する必要があります。4D View Pro では、次の新しいコマンドでこれを行うことができます。 VP Cell, VP Cells, VP Column, VP Row, VP Allと VP Combine ranges.
範囲オブジェクトは、以下を定義することができます。
- セルまたはセルのグループ
- 列または列のグループ
- 行または行のグループ
- シートのすべてのセル
セルまたはセルのグループを定義する
1つのセルの座標を定義するには VP Cellコマンドを使う。
$column:=3//column of beginning cell
.といった具合です。
$row :=5//row of beginning cell
$sheet :=2// specific workbook sheet
$cellObj1 :=VP Cell ("ViewProArea";$column;$row)// cell D6 (current sheet)
$cellObj2 :=VP Cell ("ViewProArea";$column;$row;$sheet) // cell D6 sheet 3
行番号、列番号、シート番号は0から始まるので、最初の左上のセルの座標は (0;0) になります。
セルのグループは基本的に左上のセルと行数、セル数を参照することで定義する。この情報を VP Cellsコマンドに渡す。
$column // specific workbook sheet:=3//column of beginning cell
$row :=5//row of beginning cell
$columnCount :=2// total number of columns
$rowCount :=3// total number of rows
$sheet :=2
$cellsObj1 :=VP Cells ("ViewProArea";$column;$row;$columnCount;$rowCount)// cells D6 to E8 (current sheet)
$cellsObj2 :=VP Cells ("ViewProArea";$column;$row;$columnCount;$rowCount;$sheet) // cells D6 to E8 on sheet 3
列または列のグループを定義する
列の座標を定義するには、列のインデックスを VP Column コマンドに渡す。複数の連続した列を定義する必要がある場合は、列インデックスの後に列カウントを追加する。
$column
)項を定義します。
:=3// beginning column
$columnCount :=2// total number of columns
$sheet :=2// specific workbook sheet
$colObj1 :=VP Column ("ViewProArea";$column)// column D (current sheet)$colObj2 :=VP Column ("ViewProArea";$column;$columnCount)// column D + column E (current sheet)
$colObj3 :=VP Column ("ViewProArea";$column;$columnCount;$sheet) // column D + column E sheet 3
行または行のグループを定義する
行の座標を定義するには、コマンドに列のインデックスを渡します。 VP Row.複数の連続した行を定義する必要がある場合は、行番号の後に行数を追加します。
$row
、 )
:=5// beginning row
$rowCount :=3// total number of rows
$sheet :=2// specific workbook sheet
$rowObj1 :=VP Row ("ViewProArea";$row) // row 6$rowObj2 :=VP Row ("ViewProArea";$row;$rowCount) // row 6 + row 7 + row 8
$rowObj3 、 :=VP Row ("ViewProArea";$row;$rowCount;$sheet // row 6 + row 7 + row 8 sheet 2
不規則なセル範囲の定義
不規則なセル範囲とは、同じ範囲内にあるいくつかの別々の(不連続な)セルグループを結合する必要がある場合です。そのためには、連続したグループごとに個別の範囲を作成し、それらをすべてパラメータとして VP Combine rangesコマンドに渡す。
$combine:=VP Combine ranges ($cellObj1;$colObj1;$rowObj1;rowObj2;cellsObj2)