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

メソッド一覧

警告: このページのコマンドはスレッドセーフではありません。

A - C - D - E - F - G - I - M - N - O - P - R - S

A

VP ADD FORMULA NAME

VP ADD FORMULA NAME ( vpAreaName : Text ; vpFormula : Text ; name : Text { ; options : Object } )

引数タイプ説明
vpAreaNameText->4D View Pro フォームオブジェクト名
vpFormulaText->4D View Pro フォーミュラ
nameText->フォーミュラの名称
optionsObject->命名フォーミュラのオプション

説明

VP ADD FORMULA NAME コマンドは、開いているドキュメント内において命名されたフォーミュラを作成、または編集します。

このコマンドで作成された命名フォーミュラはドキュメントとともに保存されます。

vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

vpFormula には、命名する 4D View Pro フォーミュラを渡します。 フォーミュラシンタックスの詳細については、式と関数 ページを参照ください。

名前をつけたいレンジを rangeObj に、新しいレンジの名前は name に渡します。 同じスコープ内で名前が既に使用されている場合、新しい命名レンジは既存のものを上書きします。 ただし異なるスコープであれば同じ名前を使用することが可能です (以下参照)。

options 引数には、命名フォーミュラの追加プロパティを格納したオブジェクト型を渡すことができます。 以下のプロパティがサポートされています:

プロパティタイプ説明
scopeNumberフォーミュラのスコープ。 シートのインデックス (0起点) を渡すか、あるいは以下の定数を使用することができます:
  • vk current sheet
  • vk workbook
  • スコープは、フォーミュラ名が特定のワークシートに限定されたローカル (scope = シートのインデックス または vk current sheet) なものか、あるいはワークブック全体で使用できるグローバル (scope = vk workbook) なものかを決定します。
    commentText命名フォーミュラに割り当てられたコメント

    例題

    VP ADD FORMULA NAME("ViewProArea";"SUM($A$1:$A$10)";"Total2")

    参照

    Cell references
    VP Get formula by name
    VP Get names

    VP ADD RANGE NAME

    VP ADD RANGE NAME ( rangeObj : Object ; name : Text { ; options : Object } )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    nameText->フォーミュラの名称
    optionsObject->命名フォーミュラのオプション

    説明

    VP ADD RANGE NAME コマンドは、 開いているドキュメント内に命名レンジを作成、または編集します。

    このコマンドで作成された命名レンジはドキュメントとともに保存されます。

    名前をつけたいレンジを rangeObj に、新しいレンジの名前は name に渡します。 同じスコープ内で名前が既に使用されている場合、新しい命名フォーミュラは既存のものを上書きします。 ただし異なるスコープであれば同じ名前を使用することが可能です (以下参照)。

    options 引数には、命名レンジの追加プロパティを格納したオブジェクト型を渡すことができます。 以下のプロパティがサポートされています:

    プロパティタイプ説明
    scopeNumberレンジのスコープ。 シートのインデックス (0起点) を渡すか、あるいは以下の定数を使用することができます:
  • vk current sheet
  • vk workbook
  • スコープは、レンジ名が特定のワークシートに限定されたローカル (scope = シートのインデックス または vk current sheet) なものか、あるいはワークブック全体で使用できるグローバル (scope = vk workbook) なものかを決定します。
    commentText命名レンジに割り当てられたコメント
    • 命名レンジの実態は、座標を格納した命名フォーミュラです。 VP ADD RANGE NAME を使うと簡単に命名レンジの作成ができますが、VP ADD FORMULA NAME コマンドで命名レンジを作成することもできます。
    • 命名レンジを定義するフォーミュラは、VP Get formula by name コマンドで取得することができます。

    例題

    あるセルレンジに対して命名レンジを作成します:

    $range:=VP Cell("ViewProArea";2;10)
    VP ADD RANGE NAME($range;"Total1")

    参照

    VP Get names
    VP Name

    VP ADD SELECTION

    VP ADD SELECTION ( rangeObj : Object )

    引数タイプ説明
    rangeObjText->レンジオブジェクト

    説明

    VP ADD SELECTION コマンドは、指定されたセルを、現在選択されているセル範囲に追加します。

    rangeObj には、カレントセレクションに追加するセルのレンジオブジェクトを渡します。

    アクティブセルは変更されません。

    例題

    以下のようにセルが選択されている場合:

    以下のコードを実行すると、指定したセルを選択範囲に追加します:

    $currentSelection:=VP Cells("myVPArea";3;4;2;3)
    VP ADD SELECTION($currentSelection)

    結果:

    参照

    VP Get active cell
    VP Get selection
    VP RESET SELECTION
    VP SET ACTIVE CELL
    VP SET SELECTION
    VP SHOW CELL

    VP ADD SHEET

    VP ADD SHEET ( vpAreaName : Text )
    VP ADD SHEET ( vpAreaName : Text ; index : Integer )
    VP ADD SHEET ( vpAreaName : Text ; sheet : Integer ; name : Text )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    sheetInteger->新しいシートのインデックス
    nameText->シート名

    説明

    VP ADD SHEET コマンドは、vpAreaName にロードされているドキュメントにシートを挿入します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    sheet 引数として、新しいシートのインデックスを渡します。 渡した index 引数が 0以下だった場合、コマンドは新しいシートを先頭に挿入します。 index 引数がシートの総数より多い場合、コマンドは既存のシートの後に新しいシートを挿入します。

    インデックスは 0 起点です。

    name 引数として、新しいシートの名前を渡します。 新しい名前には、次の文字を含めることはできません: *, :, [, ], ?,\,/

    例題

    ドキュメントには現在 3つのシートがあります:

    vp-document-with-3-sheets

    新しいシートを 3つ目の位置 (インデックスは 2) に挿入し、名前を "March" にします:

    VP ADD SHEET("ViewProArea";2;"March")

    vp-add-sheet

    参照

    VP REMOVE SHEET

    VP ADD SPAN

    VP ADD SPAN ( rangeObj : Object )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト

    説明

    VP ADD SPAN コマンドは、rangeObj に渡したセルを単一のセルに結合します。

    rangeObj には、セルのレンジオブジェクトを渡します。 レンジ内のセルは結合され、複数のカラム/行にまたがる大きなセルが作成されます。 複数のセルレンジを渡すことで、一度に複数の結合セルを作成することもできます。 ただし、セルレンジが重なった場合、最初のセルレンジのみが使用されます。

    • 結合セルでは、左上端セルのデータのみが表示されます。 他のセルのデータは結合が解除されるまで非表示になります。
    • 結合セル内の非表示データは、フォーミュラを使用することでアクセス可能です (フォーミュラは左上端セルから始まります)。

    例題

    "First quarter" セルと "Second quarter" セルを、それぞれ右 2つのセルと結合し、"South area" セルは下 2つのセルと結合します:

    initial-document

     // "First quarter" レンジ
    $q1:=VP Cells("ViewProArea";2;3;3;1)

    // "Second quarter" レンジ
    $q2:=VP Cells("ViewProArea";5;3;3;1)

    // "South area" レンジ
    $south:=VP Cells("ViewProArea";0;5;1;3)

    VP ADD SPAN(VP Combine ranges($q1;$q2;$south))

    vp-add-span-result

    参照

    4D View Pro Range Object Properties
    VP Get spans
    VP REMOVE SPAN

    VP ADD STYLESHEET

    VP ADD STYLESHEET ( vpAreaName : Text ; styleName : Text ; styleObj : Object { ; sheet : Integer } )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    styleNameText->スタイルの名前
    styleObjObject->属性設定を定義するオブジェクト
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP ADD STYLESHEET コマンドは、開いているドキュメント内にて、styleName 引数で指定したスタイルシートを、styleObj 引数のプロパティの組み合わせに基づいて作成または変更します。 同じ名前とインデックスを持つスタイルシートがドキュメント内にすでに存在する場合、このコマンドはそれを新しい値で上書きします。

    このコマンドで作成されたスタイルシートはドキュメントとともに保存されます。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    styleName 引数には、スタイルシートの名前を渡します。 同じスコープ内で名前が既に使用されている場合、新しいスタイルシートは既存のものを上書きします。 ただし異なるスコープであれば同じ名前を使用することが可能です (以下参照)。

    styleObj には、スタイルシートの設定 (例: フォント、テキスト装飾、文字揃え、境界線、など) を指定します。 スタイルプロパティの完全な一覧については、スタイルオブジェクトプロパティ を参照ください。

    任意の sheet 引数を使用することで、スタイルシートをどこに定義するかを指定することができます。シートインデックス (0 起点) か、以下の定数のいずれかを渡すことができます:

    • vk current sheet
    • vk workbook

    同じ styleName のスタイルシートが、ワークブックレベルとシートレベルとで定義されている場合、シートレベルのスタイルが優先されます。

    スタイルシートを適用するには、VP SET DEFAULT STYLE または VP SET CELL STYLE コマンドを使用します。

    例題

    以下のコードは:

    $styles:=New object
    $styles.backColor:="green"

    // 境界線オブジェクト
    $borders:=New object("color";"green";"style";vk line style medium dash dot)

    $styles.borderBottom:=$borders
    $styles.borderLeft:=$borders
    $styles.borderRight:=$borders
    $styles.borderTop:=$borders

    VP ADD STYLESHEET("ViewProArea";"GreenDashDotStyle";$styles)

    // スタイルを適用します
    VP SET CELL STYLE(VP Cells("ViewProArea";1;1;2;2);New object("name";"GreenDashDotStyle"))

    GreenDashDotStyle という名前の、以下のようなスタイルオブジェクトを作成します:

    {
    backColor:green,
    borderBottom:{color:green,style:10},
    borderLeft:{color:green,style:10},
    borderRight:{color:green,style:10},
    borderTop:{color:green,style:10}
    }

    参照

    4D View Pro Style Objects and Style Sheets
    VP Get stylesheet
    VP Get stylesheets
    VP REMOVE STYLESHEET
    VP SET CELL STYLE
    VP SET DEFAULT STYLE

    VP All

    VP All ( vpAreaName : Text { ; sheet : Integer } ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Object<-すべてのセルのレンジオブジェクト

    説明

    VP ALL コマンドは、すべてのセルを参照する新しいレンジオブジェクトを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、定義されるレンジが属するスプレッドシートを指定することができます。 省略された場合、または vk current sheet を渡した場合、カレントスプレッドシートが使用されます。

    例題

    カレントスプレッドシートにおいて、全セルのレンジオブジェクトを定義します:

    $all:=VP All("ViewProArea") // カレントシートの全セル

    参照

    VP Cell
    VP Cells
    VP Column
    VP Combine ranges
    VP Name
    VP Row

    C

    VP Cell

    VP Cell ( vpAreaName ; column : Integer ; row : Integer ; Text { ; sheet : Integer } ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    columnLongint->カラムのインデックス
    rowLongint->行のインデックス
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Object<-単一セルのレンジオブジェクト

    説明

    VP Cell コマンドは、特定のセルを参照する新しいレンジオブジェクトを返します。

    このコマンドは単一セルのレンジを想定しています。 複数セルに対するレンジオブジェクトを作成するには、VP Cells コマンドを使用します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    column 引数で、セルレンジの位置のカラムを定義します。 この引数としてカラムのインデックスを渡します。

    row 引数で、セルレンジの位置をの行を定義します。 この引数として行のインデックスを渡します。

    任意の sheet 引数で、レンジが定義されるシートのインデックスを指定することができます。 省略された場合、または vk current sheet を渡した場合、カレントスプレッドシートが使用されます。

    インデックスは 0 起点です。

    例題

    以下に表示されている (カレントスプレッドシートの) セルに対するレンジオブジェクトを定義します:

    vp-cell

    以下のようにコードを書くことができます:

    $cell:=VP Cell("ViewProArea";2;4) // C5

    参照

    VP All
    VP Cells
    VP Column
    VP Combine ranges
    VP Name
    VP Row

    VP Cells

    VP Cells ( vpAreaName : Text ; column: Integer ; row: Integer ; columnCount : Integer ; rowCount : Integer { ; sheet : Integer } ) : Object

    履歴
    バージョン内容
    v17 R4追加
    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    columnInteger->カラムのインデックス
    rowInteger->行のインデックス
    columnCountInteger->カラム数
    rowCountInteger->行数
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Object<-複数セルのレンジオブジェクト

    説明

    VP Cells コマンドは、指定された複数のセルを参照する新しいレンジオブジェクトを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    column 引数で、セルレンジの先頭カラムを指定します。 この引数としてカラムのインデックス (0 起点) を渡します。 レンジが複数カラムにわたる場合、columnCount 引数も併せて使用します。

    row 引数で、セルレンジの位置を決める行を指定します。 この引数として行のインデックス (0 起点) を渡します。 レンジが複数行にわたる場合、rowCount 引数も併せて使用します。

    columnCount には、レンジに含まれるカラム数を指定することができます。 columnCount 引数は 0 より大きい値でなくてはなりません。

    rowCount には、レンジに含まれる行数を指定することができます。 rowCount 引数は 0 より大きい値でなくてはなりません。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、定義されるレンジが属するスプレッドシートを指定することができます。 省略された場合、または vk current sheet を渡した場合、カレントスプレッドシートが使用されます。

    例題

    (カレントシートにおいて) 以下のセルのレンジオブジェクトを定義します:

    以下のようにコードを書くことができます:

    $cells:=VP Cells("ViewProArea";2;4;2;3) // C5 から D7

    参照

    VP All
    VP Cells
    VP Column
    VP Combine ranges
    VP Name
    VP Row

    VP Column

    VP Column ( vpAreaName : Text ; column: Integer ; columnCount : Integer { ; sheet : Integer } ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    columnInteger->カラムのインデックス
    columnCountInteger->カラム数
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Object<-複数セルのレンジオブジェクト

    説明

    VP Column コマンドは、特定のカラム、あるいは複数のカラムを参照する新しいレンジオブジェクトを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    column 引数で、カラムレンジの先頭カラムを指定します。 この引数としてカラムのインデックス (0 起点) を渡します。 レンジが複数カラムにわたる場合には、任意の columnCount 引数も併せて使用します。

    任意の columnCount には、レンジに含まれるカラム数を指定することができます。 columnCount 引数は 0 より大きい値でなくてはなりません。 省略時、デフォルトで値は 1 に設定され、カラム型のレンジが作成されます。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、定義されるレンジが属するスプレッドシートを指定することができます。 省略された場合、または vk current sheet を渡した場合、カレントスプレッドシートが使用されます。

    例題

    以下に表示されている (カレントスプレッドシートの) カラムに対するレンジオブジェクトを定義します:

    以下のようにコードを書くことができます:

     $column:=VP Column("ViewProArea";3) // カラム D

    参照

    VP All
    VP Cells
    VP Column
    VP Combine ranges
    VP Name
    VP Row
    VP SET COLUMN ATTRIBUTES

    VP COLUMN AUTOFIT

    VP COLUMN AUTOFIT ( rangeObj : Object )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト

    説明

    VP COLUMN AUTOFIT コマンドは、rangeObj 引数のレンジ内にあるカラムを、そのコンテンツに応じて自動的にリサイズします。

    rangeObj 引数として、サイズを自動調整したいカラムを格納しているレンジオブジェクトを渡します。

    例題

    以下のカラムはすべて同じサイズで、一部のテキストが表示しきれていません:

    カラムを選択して、以下のコードを実行すると:

     VP COLUMN AUTOFIT(VP Get selection("ViewProarea"))

    ... コンテンツに合うようにカラムがリサイズされます:

    参照

    VP ROW AUTOFIT

    VP Combine ranges

    VP Combine ranges ( rangeObj : Object ; otherRangeObj : Object {;...otherRangeObjN : Object } ) : Object

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    otherRangeObjObject->レンジオブジェクト
    戻り値Object<-統合されたレンジを格納したオブジェクト

    説明

    VP Combine Ranges コマンドは、2つ以上のレンジオブジェクトを統合した新しいレンジオブジェクトを返します。 レンジはすべて同じ 4D View Pro エリア内のものでなくてはなりません。

    rangeObj には、1つ目のレンジオブジェクトを渡します。

    otherRangeObj には、rangeObj のレンジオブジェクトと統合させる他のレンジオブジェクトを渡します。

    このコマンドは rangeObj および otherRangeObj のオブジェクトを参照によって組み合わせます。

    例題

    セル、カラム、行のレンジオブジェクトを、新規レンジオブジェクトにまとめます:

     $cell:=VP Cell("ViewProArea";2;4) // C5
    $column:=VP Column("ViewProArea";3) // カラム D
    $row:=VP Row("ViewProArea";9) // 行 10

    $combine:=VP Combine ranges($cell;$column;$row)

    参照

    VP All
    VP Cells
    VP Column
    VP Combine ranges
    VP Name
    VP Row
    VP SET COLUMN ATTRIBUTES

    VP Convert from 4D View

    VP Convert from 4D View ( 4DViewDocument : Blob ) : Object

    引数タイプ説明
    4DViewDocumentBlob->4D View ドキュメント
    戻り値Object<-4D View Pro オブジェクト

    説明

    VP Convert from 4D View コマンドを使用すると、旧式の 4D View ドキュメントを 4D View Pro オブジェクトへと変換することができます。

    旧式の 4D View プラグインが現環境にインストールされていなくても、このコマンドは使用可能です。

    4DViewDocument には変換する 4D View ドキュメントを格納する BLOB変数やフィールドを渡します。 コマンドは、4D View ドキュメントに保存されていた情報をすべて 4D View Pro 属性へと変換した 4D View Pro オブジェクトを返します。

    例題

    BLOB に保存されている 4D View エリアから 4D View Pro オブジェクトを取得します:

    C_OBJECT($vpObj)
    $vpObj:=VP Convert from 4D View($pvblob)

    VP Convert to picture

    VP Convert to picture ( vpObject : Object {; rangeObj : Object} ) : Picture

    引数タイプ説明
    vpObjectObject->変換するエリアを格納した 4D View Pro オブジェクト
    rangeObjObject->レンジオブジェクト
    戻り値Object<-エリアの SVGピクチャー

    説明

    VP Convert to picture コマンドは、vpObject 引数で指定した 4D View Pro オブジェクト (あるいは vpObject 内にある、rangeObj 引数で指定したレンジ) を、SVGピクチャーに変換します。

    このコマンドは以下のような場合に有用です:

    • 4D View Pro ドキュメントを 4D Write Pro ドキュメントなど、他のドキュメントに埋め込みたい場合
    • 4D View Pro ドキュメントを、4D View Pro エリアに読み込まずに印刷したい場合

    vpObject 引数には、変換したい 4D View Pro オブジェクトを渡します。 このオブジェクトは事前に VP Export to object コマンドで解析するか、または VP EXPORT DOCUMENT コマンドにより保存してある必要があります。

    4D View Pro エリアに含まれている式や書式 (セルフォーマット 参照) が正常に書き出されるよう、少なくともそれらが一度は評価されていることが SVG変換プロセスには必要です。 事前に評価されていないドキュメントを変換した場合、式や書式が予期せぬ形にレンダリングされている可能性があります。

    rangeObj には、変換するセルのレンジを渡します。 この引数が省略された場合のデフォルトでは、ドキュメントのコンテンツ全体が変換されます。

    書式 (上の注記参照)、ヘッダーの表示状態、カラムと行などを含めた表示属性に準じて、ドキュメントコンテンツは変換されます。 以下の要素の変換がサポートされます:

    • テキスト: スタイル / フォント / サイズ / 文字揃え / 向き / 回転 / 書式
    • セルの背景: カラー / 画像
    • セルの罫線: 太さ / カラー / スタイル
    • セルの結合
    • ピクチャー
    • 行高さ
    • カラム幅
    • 非表示のカラム / 行 > 枠線の表示状態は VP SET PRINT INFO で定義されたドキュメント属性に依存します。

    枠線の表示状態は VP SET PRINT INFO で定義されたドキュメント属性に依存します。

    戻り値

    コマンドは SVGフォーマットのピクチャーを返します。

    例題

    4D View Pro エリアを SVG に変換し、結果をプレビューするためピクチャー変数に戻り値を代入します:

    C_OBJECT($vpAreaObj)
    C_PICTURE($vPict)
    $vpAreaObj:=VP Export to object("ViewProArea")
    $vPict:=VP Convert to picture($vpAreaObj) // エリア全体を書き出します

    参照

    VP EXPORT DOCUMENT
    VP Export to object
    VP SET PRINT INFO

    VP Copy to object

    履歴
    バージョン内容
    v19 R4追加

    VP Copy to object ( rangeObj : Object {; options : Object} ) : Object

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    optionsObject->追加のオプション
    戻り値Object<-返されるオブジェクト。 コピーされたデータが格納されています

    説明

    VP Copy to object コマンドは、rangeObj のコンテンツ、スタイル、フォーミュラをオブジェクトにコピーします。

    rangeObj には、コピーしたい値、フォーマット、フォーミュラを格納しているセルレンジを渡します。 rangeObj が結合レンジの場合は、最初のものだけが使用されます。

    任意の options 引数として、以下のプロパティを渡すことができます。

    プロパティタイプ説明
    copyBooleanコマンド実行後もコピーされた値、書式、数式が保持するには true (デフォルト)。 削除するには false
    copyOptionsLongintコピーまたは移動する内容を指定します。 とりうる値:

    説明
    vk clipboard options all (デフォルト)値、フォーマット、フォーミュラを含むすべてのデータオブジェクトをコピーします。
    vk clipboard options formattingフォーマットだけをコピーします。
    vk clipboard options formulasフォーミュラだけをコピーします。
    vk clipboard options formulas and formattingフォーミュラとフォーマットをコピーします。
    vk clipboard options values値だけをコピーします。
    vk clipboard options value and formatting値とフォーマットをコピーします。

    ワークブックオプション で定義されている貼り付けオプションが考慮されます。

    このコマンドは、コピーされたデータを含むオブジェクトを返します。

    例題

    あるレンジのコンテンツ、値、フォーマット、フォーミュラをオブジェクトに格納し、それを別のレンジに貼り付けます:

    var $originRange; $targetRange; $dataObject; $options : Object

    $originRange:=VP Cells("ViewProArea"; 0; 0; 2; 5)

    $options:=New object
    $options.copy:=True
    $options.copyOptions:=vk clipboard options all

    $dataObject:=VP Copy to object($originRange; $options)

    $targetRange:=VP Cell("ViewProArea"; 4; 0)
    VP PASTE FROM OBJECT($targetRange; $dataObject; vk clipboard options all)

    参照

    VP PASTE FROM OBJECT
    VP MOVE CELLS
    VP Get workbook options
    VP SET WORKBOOK OPTIONS

    VP CREATE TABLE

    履歴
    バージョン内容
    v19 R8テーマオプションのサポート: bandColumn, bandRows, highlightFirstColumn, highlightLastColumn, theme
    v19 R7allowAutoExpand オプションをサポート
    v19 R6追加

    VP CREATE TABLE ( rangeObj : Object ; tableName : Text {; source : Text} {; options : cs.ViewPro.TableOptions} )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    tableNameText->表組みの名称
    sourceText->表に表示するデータコンテキストプロパティ名
    optionscs.ViewPro.TableOptions->追加のオプション

    説明

    VP CREATE TABLE コマンドは、指定のレンジ内に表組みを作成します。 表組みを作成することで、関連するデータの管理や分析をより簡単におこなえます。 表組みは通常、関連するデータを行と列に含み、データコンテキスト を利用します。

    rangeObj 引数には、表の作成場所としたいセルのレンジを渡します。

    tableName には、表組みの名称を渡します。 名称は次の条件を満たさなくてはなりません:

    • シートにおいて固有のものである
    • 5文字以上である
    • 先頭が数字でなく、スペースを含まない

    source には、表組みにデータを提供する データコンテキスト のプロパティ名を渡します。 これにより、表をデータコンテキストにバインドします。 データコンテキストが更新されると、表に表示されるデータも更新されます。 このデータコンテキストには、各要素が行を表すオブジェクトのコレクションが含まれている必要があります。

    • source を指定しない場合、コマンドは rangeObj が定義するサイズの空の表を作成します。
    • 指定された source をドキュメント内に完全に表示できない場合、表は作成されません。

    options には、設定する表プロパティを格納する cs.ViewPro.TableOptions クラス のオブジェクトを渡します。

    options オブジェクトの中で、tableColumns コレクションが、表の列のデータ構造を決定します。 tableColumns コレクションの長さは、レンジの列数と等しくなければなりません:

    • rangeObj の列数が tableColumns の列数より多い場合、表は追加の空列で埋められます。
    • rangeObj の列数が tableColumns の列数より少ない場合、表はレンジの列数のみを表示します。

    source を渡しながら、tableColumn オプションは渡さなかった場合、コマンドは自動的に列を生成します。 この場合、rangeObj はセルレンジでなければなりません。 そうでなければ、レンジの先頭セルが使用されます。 列を自動生成する場合、次のルールが適用されます:

    • コマンドに渡されるデータがオブジェクトのコレクションである場合、列のタイトルとしてプロパティ名が使用されます。 例:
    ([{ LastName: \"Freehafer\", FirstName: \"Nancy\"},{ LastName: \"John\", FirstName: \"Doe\"})

    この場合、列のタイトルは LastNameFirstName になります。

    • スカラー値のコレクションを各行のデータとして渡すには、それらはサブコレクションとしてコレクションに格納されている必要があります:

      • 第1レベルのコレクションは、値のサブコレクションを格納しています。 それぞれのサブコレクションは行を定義します。 行をスキップするには空のコレクションを渡します。 最初のサブコレクションに格納されている値の数により、生成されるカラム数が決定します。
      • 列のタイトルとして、サブコレクションのインデックスが使用されます。
      • それぞれのサブコレクションは行におけるセルの値を定義します。 Integer, Real, Boolean, Text, Date, Null, Time または Picture の値が可能です。 Time の値は、VP SET VALUE でも記述されているように、time 属性を含むオブジェクトでなければなりません。

    これは列を自動生成するときにのみ機能します。 tableColumns オプションを使用する場合、スカラーデータのコレクションは使用できません。

    例題

    データコンテキストを使用した表組みを作成します:

    // データコンテキストを設定します
    var $data : Object

    $data:=New object()
    $data.people:=New collection()
    $data.people.push(New object("firstName"; "John"; "lastName"; "Smith"; "email"; "johnsmith@gmail.com"))
    $data.people.push(New object("firstName"; "Mary"; "lastName"; "Poppins"; "email"; "marypoppins@gmail.com"))


    VP SET DATA CONTEXT("ViewProArea"; $data)

    // 表の列を定義します
    var $options : cs.ViewPro.TableOptions

    $options:=cs.ViewPro.TableOptions.new()
    $options.tableColumns:=New collection()
    $options.tableColumns.push(cs.ViewPro.TableColumns.new("name"; "First name"; "dataField"; "firstName"))
    $options.tableColumns.push(cs.ViewPro.TableColumns.new("name"; "Last name"; "dataField"; "lastName"))
    $options.tableColumns.push(cs.ViewPro.TableColumns.new("name"; "Email"; "dataField"; "email"))

    // "people" コレクションから表を作成します
    VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; $options.tableColumns.length; 1); "ContextTable"; "people"; $options)

    このようになります:

    参照

    VP Find table
    VP Get table column attributes
    VP Get table column index
    VP INSERT TABLE COLUMNS
    VP INSERT TABLE ROWS
    VP REMOVE TABLE
    VP RESIZE TABLE
    VP SET DATA CONTEXT
    VP SET TABLE COLUMN ATTRIBUTES
    VP SET TABLE THEME

    D

    VP DELETE COLUMNS

    VP DELETE COLUMNS ( rangeObj : Object )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト

    説明

    VP DELETE COLUMNS コマンドは、rangeObj 引数で指定したカラムを削除します。

    rangeObj 引数には、削除するカラムを指定するレンジオブジェクトを渡します。 渡すレンジについては、以下の点に注意してください:

    • レンジにカラムと行の両方が含まれる場合、カラムのみが削除されます。
    • レンジに行しか含まれていない場合、コマンドは何もしません。 > カラムは右から左に向かって削除されます。

    カラムは右から左に向かって削除されます。

    例題

    ユーザーが選択したカラムを削除します (以下の画像の B、C、D のカラムを削除します):

    以下のコードを実行します:

    VP DELETE COLUMNS(VP Get selection("ViewProArea"))

    参照

    VP All
    VP Cells
    VP Column

    VP DELETE ROWS

    VP DELETE ROWS ( rangeObj : Object )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト

    説明

    VP DELETE ROWS コマンドは、rangeObj 引数で指定した行を削除します。

    rangeObj 引数には、削除する行を指定するレンジオブジェクトを渡します。 渡すレンジについては、以下の点に注意してください:

    • レンジにカラムと行の両方が含まれる場合、行のみが削除されます。
    • レンジにカラムしか含まれていない場合、コマンドは何もしません。 > 行は下から上に向かって削除されます。

    行は下から上に向かって削除されます。

    例題

    ユーザーが選択した行を削除します (以下の画像の 1、2、3行目を削除します):

    以下のコードを実行します:


    VP DELETE ROWS(VP Get selection("ViewProArea"))

    参照

    VP All
    VP Cells
    VP Column

    E

    VP EXPORT DOCUMENT

    履歴
    バージョン内容
    v20 R2.sjsドキュメントをサポート

    VP EXPORT DOCUMENT ( vpAreaName : Text ; filePath : Text {; paramObj : Object} )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    filePathText->ドキュメントのパス名
    paramObjObject->書き出しのオプション

    説明

    VP EXPORT DOCUMENT コマンドは、vpAreaName で指定した 4D View Pro エリアに関連付けられている 4D View Pro オブジェクトを、filePathparamObj で指定したとおりにディスク上のドキュメントに書き出します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    filePath には書き出すドキュメントのパスとファイル名を渡します。 パスを指定しない場合、ドキュメントは Projectフォルダーと同階層に保存されます。

    ドキュメント名に拡張子を付けることで、書き出すドキュメントの形式を指定することができます:

    ファイル名に拡張子が含まれていなくても、paramObj 引数によって形式が指定されている場合、書き出されたファイルには形式に対応する拡張子がつけられます。 ただし CSV形式の場合には拡張子がつきません。

    任意の paramObj 引数を渡すと、書き出される 4D View Pro オブジェクトの複数のプロパティに加えて、書き出しが完了した際に呼び出されるコールバックメソッド名を定義することができます。

    プロパティタイプ説明
    formattext(任意) 渡した場合、書き出されるファイルの形式を指定します: ".4VP" (デフォルト)、 ".csv"、".xlsx"、 ".pdf"、または ".sjs"。 次の定数が利用できます:
  • vk 4D View Pro format
  • vk csv format
  • vk MS Excel format
  • vk pdf format
  • vk sjs format
  • 4D は必要に応じて適切な拡張子をファイル名に追加します。 指定した形式が filePath 引数として渡された拡張子と合致しない場合、指定形式の拡張子は filePath 引数の後ろに追加されます。 形式が指定されず、filePath 引数にも拡張子がなかった場合には、デフォルトのファイル形式が使用されます。
    passwordtextMicrosoft Excel のみ (任意) - MS Excel ドキュメントの保護に使用されるパスワード。
    formula4D.Function書き出しが完了した際に呼び出されるコールバックメソッド名。 書き出しが非同期でおこなわれる (PDF および Excel 形式での書き出しが該当します) 場合かつ、書き出し後にコードを実行したい場合には、コールバックメソッドが必要です。 コールバックメソッドは Formula コマンドを使って渡す必要があります。 コールバックメソッドの渡し方 を参照ください。
    valuesOnlybooleanフォーミュラ (あれば) の値のみを書き出すかどうかを指定します。
    includeFormatInfobooleanフォーマット (書式) 情報を含めるには true、それ以外の場合には false (デフォルトは true)。 フォーマット情報は特定の場合 (例: SVGへの書き出しなど) において有用です。 一方で、このプロパティを false に設定することで書き出し時間を短縮することもできます。
    includeBindingSourceboolean4DVP および Microsoft Excel のみ。 true (デフォルト) の場合、カレントデータコンテキストの値を、書き出したドキュメントのセルの値としてエクスポートします (データコンテキスト自体はエクスポートされません)。 それ以外は false。 セルバインドは常にエクスポートされます。 データコンテキストおよびセルバインドの管理については、VP SET DATA CONTEXT および VP SET BINDING PATH を参照ください。
    sheetnumberPDF のみ (任意) - 書き出すシートのインデックス (0 起点)。 -2 = 表示されている全シート (デフォルト)、-1 = カレントシートのみ
    pdfOptionsobjectPDFのみ (任意) - pdf 書き出しのオプション

    プロパティタイプ説明
    creatortext変換されたドキュメントの変換元を作成したアプリケーション名。
    titletextドキュメント名。
    authortextドキュメントの作成者の名前。
    keywordstextドキュメントに割り当てられたキーワード。
    subjecttextドキュメントの題名。

    csvOptionsobjectCSVのみ (任意) - csv 書き出しのオプション

    プロパティタイプ説明
    rangeobject複数セルのレンジオブジェクト
    rowDelimitertext行の区切り文字。 デフォルト: "\r\n"
    columnDelimitertextColumn delimiter. デフォルト: ","

    sjsOptionsobjectSJSのみ (任意) - sjs 書き出しのオプション

    プロパティタイプ説明
    includeAutoMergedCellsboolean自動的に結合されたセルを含めるかどうか。デフォルトは false。
    includeBindingSourcebooleanバインドされたソースを含めるかどうか。デフォルトは true。
    includeCalcModelCacheboolean計算の追加データを含めるか。 追加データによって、ファイルを開くのが速くなる場合があります。デフォルトは false。
    includeEmptyRegionCellsboolean使用されるデータレンジの外側の空白セル (データがない、またはスタイルだけのセル) を含めるかどうか。デフォルトは true。
    includeFormulasbooleanフォーミュラを含めるかどうか。デフォルトは true。
    includeStylesbooleanスタイルを含めるかどうか。デフォルトは true。
    includeUnusedNamesboolean使用されていないカスタム名を含めるかどうか。デフォルトは true。
    saveAsViewboolean書き出される値にフォーマット文字列を適用するかどうか。デフォルトは false。

    customPropertyanyコールバックメソッドの $3 引数を通して利用可能な任意のプロパティ。

    Excel 形式についての注意:

    • 4D View Pro ドキュメントを Microsoft Excel 形式のファイルに書き出す場合、一部の設定が失われる可能性があります。 たとえば、4Dメソッドとフォーミュラは Excel ではサポートされません。 SpreadJS にある一覧 にて、その他の設定を確認することができます。
    • このフォーマットへの書き出しは非同期に実行されるため、書き出し後にコードを実行するには、paramObj 引数の formula プロパティを使用します。

    PDF 形式についての注意:

    • 4D View Pro ドキュメントを PDF 形式に書き出す場合、ドキュメントで使用されているフォントは自動的に PDF ファイルに埋め込まれます。 ただし、埋め込み可能なのは Unicode マップを持つ OpenType フォント (.OTF または .TTF ファイル) のみです。 フォントに対して有効なフォントファイルが見つからない場合、デフォルトのフォントが代用されます。
    • このフォーマットへの書き出しは非同期に実行されるため、書き出し後にコードを実行するには、paramObj 引数の formula プロパティを使用します。

    CSV 形式についての注意:

    • 4D View Pro ドキュメントを CSV 形式に書き出す場合、テキストと値のみが保存されるため、一部の設定が失われる可能性があります。
    • すべての値は二重引用符で括られた形で保存されます。 ユーザー定義区切りの値 (DSV) に関する詳細については、こちらの Wikipedia の記事 (英文) を参照ください。
    • このフォーマットへの書き出しは非同期に実行されるため、書き出し後にコードを実行するには、paramObj 引数の formula プロパティを使用します。

    SpreadJS ファイル形式についての注意:

    • SpreadJS ファイル は zipファイルです。
    • このフォーマットへの書き出しは非同期に実行されるため、書き出し後にコードを実行するには、paramObj 引数の formula プロパティを使用します。

    書き出し操作が完了すると、VP EXPORT DOCUMENT は自動的に、paramObj オブジェクトの formula プロパティに設定されたメソッドをトリガーします (設定されていれば)。

    コールバックメソッド (フォーミュラ) の渡し方

    コマンドに任意の paramObj 引数を渡す場合、Formula コマンドを使って、書き出し完了時に実行される 4Dメソッドを呼び出すことができます。 コールバックメソッドは、以下の値をローカルパラメーターに受け取ります:

    引数タイプ説明
    param1text4D View Pro エリアのオブジェクト名
    param2text書き出された 4D View Pro オブジェクトのファイルパス
    param3objectコマンドの paramObj 引数への参照
    param4objectメソッドから返されるステータスメッセージを格納したオブジェクト
    .successboolean書き出しに成功した場合は true 、それ以外の場合は false
    .errorCodeintegerエラーコード。
    .errorMessagetextエラーメッセージ。

    例題 1

    "VPArea" エリアのコンテンツをディスク上の 4D View Pro ドキュメントに書き出します:

    var $docPath: Text

    $docPath:="C:\\Bases\\ViewProDocs\\MyExport.4VP"
    VP EXPORT DOCUMENT("VPArea";$docPath)
    // MyExport.4VP がディスク上に保存されます

    例題 2

    カレントシートを PDF に書き出します:

    var $params: Object
    $params:=New object
    $params.format:=vk pdf format
    $params.sheet:=-1
    $params.pdfOptions:=New object("title";"Annual Report";"author";Current user)
    VP EXPORT DOCUMENT("VPArea";"report.pdf";$params)

    例題 3

    4D View Pro ドキュメントを ".xlsx" 形式に書き出して、書き出し完了後にそのドキュメントをMicrosoft Excel で開くメソッドを呼び出します:

     $params:=New object
    $params.formula:=Formula(AfterExport)
    $params.format:=vp MS Excel format //".xlsx"
    $params.valuesOnly:=True

    VP EXPORT DOCUMENT("ViewProArea";"c:\\tmp\\convertedfile";$params)

    AfterExport メソッド:

     #DECLARE($areaName : Text ; $filePath : Text ; $params : Object ; $status : Object )

    If($status.success=False)
    ALERT($status.errorMessage)
    Else
    LAUNCH EXTERNAL PROCESS("C:\\Program Files\\Microsoft Office\\Office15\\excel "+$filePath)
    End if

    例題 4

    カレントシートを、縦棒 (|) 区切りの .txt ファイルに書き出します:

    example-export-csv

    var $params : Object
    $params:=New object
    $params.range:=VP Cells("ViewProArea";0;0;2;5)
    $params.rowDelimiter:="\n"
    $params.columnDelimiter:="|"
    VP EXPORT DOCUMENT("ViewProArea";"c:\\tmp\\data.txt";New object("format";vk csv format;"csvOptions";$params))

    このようになります:

    example-export-csv

    参照

    VP Convert to picture
    VP Export to object
    VP Column
    VP Print

    VP EXPORT TO BLOB

    VP EXPORT TO BLOB ( vpAreaName : Text ; paramObj : Object )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    paramObjObject->書き出しのオプション

    説明

    VP EXPORT TO BLOB コマンドは、vpAreaName で指定した 4D View Pro エリアの 4D View Pro ドキュメントを、paramObj で指定したとおりに 4D.Blob に書き出します。 エクスポートされた Blob は、コールバックを通して利用可能です。 4D View Pro エリアを Blob でエクスポートおよびインポートすることは高速で、メモリ効率に優れています。

    paramObj には、複数のプロパティを渡せます:

    プロパティタイプ説明
    formula4D.Function(必須) 書き出しが完了した際に呼び出されるコールバックメソッド名。 コールバックメソッドの渡し方 を参照ください。
    includeAutoMergedCellsBoolean自動的に結合されたセルを含めるかどうか。デフォルトは false。
    includeBindingSourceBooleanバインドされたソースを含めるかどうか。デフォルトは true。
    includeCalcModelCacheBoolean計算の追加データを含めるか。 ファイルを開く速さに影響する場合があります。デフォルトは false。
    includeEmptyRegionCellsBoolean使用されるデータレンジの外側の空白セル (データがない、またはスタイルだけのセル) を含めるかどうか。デフォルトは true。
    includeFormulasBooleanフォーミュラを含めるかどうか。デフォルトは true。
    includeStylesBooleanスタイルを含めるかどうか。デフォルトは true。
    includeUnusedNamesBoolean使用されていないカスタム名を含めるかどうか。デフォルトは true。

    |saveAsView|Boolean|書き出される値にフォーマット文字列を適用するかどうか。デフォルトは false。|

    コールバックメソッドでは、以下のパラメーターを使用することができます:

    引数タイプ説明
    param1text4D View Pro オブジェクト名
    param24D.blobエクスポートされた Blob
    param3objectコマンドの paramObj 引数への参照
    param4objectメソッドから返されるステータスメッセージを格納したオブジェクト
    .successboolean書き出しに成功した場合は true 、それ以外の場合は false
    .errorCodeintegerエラーコード。
    .errorMessagetextエラーメッセージ。

    例題

    VP EXPORT TO BLOB コマンドは非同期です。 エクスポートの結果を取得するには、コールバックメソッド (この例では VPBlobCallback という名前) を作成する必要があります。

    // VPドキュメントをエクスポート
    VP EXPORT TO BLOB("ViewProArea"; {formula: Formula(VPBlobCallback)})
    // VPBlobCallback メソッド
    #DECLARE($area : Text; $data : 4D.Blob; $parameters : Object; $status : Object)
    var $myEntity : cs.myTableEntity

    If ($status.success)
    // ドキュメントをテーブルに保存します
    $myEntity:=ds.myTable.new()
    $myEntity.blob:=$data
    $myEntity.save()
    End if

    参照

    VP IMPORT FROM BLOB

    VP Export to object

    VP Export to object ( vpAreaName : Text {; options : Object} ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    optionsObject->書き出しのオプション
    戻り値Object<-4D View Pro オブジェクト

    説明

    VP Export to object コマンドは、 vpAreaName で指定した 4D View Pro エリアに関連付けられている 4D View Pro オブジェクトを返します。 このコマンドによって、たとえば 4D View Pro エリアを 4Dデータベースのオブジェクトフィールドに保存することができます。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    options 引数として、必要に応じて以下の書き出しオプションを渡すことができます:

    プロパティタイプ説明
    includeFormatInfoBooleanフォーマット (書式) 情報を含めるには true (デフォルト)、それ以外の場合には false。 フォーマット情報は特定の場合 (例: SVGへの書き出しなど) において有用です。 一方で、このプロパティを false に設定することで書き出し時間を短縮することもできます。
    includeBindingSourceBooleantrue (デフォルト) の場合、カレントデータコンテキストの値を、書き出したオブジェクトのセルの値としてエクスポートします (データコンテキスト自体はエクスポートされません)。 それ以外は false。 セルバインドは常にエクスポートされます。

    4D View Pro オブジェクトについての詳細は 4D View Pro オブジェクト を参照ください。

    例題 1

    4D View Pro エリアの "version" プロパティを取得します:

    var $vpAreaObj : Object
    var $vpVersion : Number
    $vpAreaObj:=VP Export to object("vpArea")
    // $vpVersion:=OB Get($vpAreaObj;"version")
    $vpVersion:=$vpAreaObj.version

    例題 2

    フォーマット (書式) 情報を含めてエリアを書き出します:

    var $vpObj : Object
    $vpObj:=VP Export to object("vpArea";New object("includeFormatInfo";False))

    参照

    VP Convert to picture
    VP EXPORT DOCUMENT
    VP IMPORT FROM OBJECT

    F

    VP Find

    VP Find ( rangeObj : Object ; searchValue : Text ) : Object
    VP Find ( rangeObj : Object ; searchValue : Text ; searchCondition : Object } ) : Object
    VP Find ( rangeObj : Object ; searchValue : Text ; searchCondition : Object ; replaceValue : Text ) : Object

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    searchValueText->検索値
    searchConditionObject->検索条件を格納したオブジェクト
    replaceValueText->置き換え値
    戻り値Object<-レンジオブジェクト

    説明

    VP Find コマンドは、rangeObj に指定したレンジ内で searchValue に指定した値を検索します。 任意の引数を渡すことで、検索条件を詳細に指定したり、検索結果を置換したりすることができます。

    rangeObj 引数として、検索対象のレンジを格納したオブジェクトを渡します。

    searchValue 引数として、rangeObj に指定したレンジ内で検索するテキスト値を渡します。

    任意の searchCondition 引数を渡すことで、検索がどのように実行されるかを指定することができます。 以下のプロパティがサポートされています:

    プロパティタイプ説明
    afterColumnInteger検索を開始するカラムの直前のカラムの番号。 rangeObj 引数が統合されたレンジの場合、渡されるカラムの番号は最初のレンジのものでなければなりません。 デフォルト値: -1 (rangeObj の最初)
    afterRowInteger検索を開始する行の直前の行番号。 rangeObj 引数が統合されたレンジの場合、渡される行番号は最初のレンジのものでなければなりません。 デフォルト値: -1 (rangeObj の最初)
    allBoolean
  • true - rangeObj 内で searchValue の値に合致するセルはすべて返されます。
  • false - (デフォルト値) rangeObj 内で searchValue の値に合致する最初のセルのみが返されます。
  • flagsInteger
    vk find flag exact matchセルの中身全体が検索値と完全に一致する必要があります
    vk find flag ignore case文字の大小は区別されません。 例: "a" と "A" は同じとみなされます。
    vk find flag none検索フラグは指定されていません (デフォルト)。
    vk find flag use wild cards検索文字列においてワイルドカード文字 (*,?) を使用できます。 ワイルドカードは、すべての文字列の比較に使用することができ、ワイルドカードによって置き換わる文字の数は指定されません:
  • * は 0 から複数文字に使用可能です (例: "bl*" を検索した場合、"bl"、"black"、"blob" などが合致します)。
  • ? は単一文字に使用可能です (例: "h?t" を検索した場合、"hot"、"hit" などが合致します)。
  • フラグは組み合わせることができます。 例: $search.flags:=vk find flag use wild cards+vk find flag ignore case
    orderInteger
    vk find order by columns検索がカラムごとに実行されます。 カラムの各行が検索されたあとに次のカラムへと移動します。
    vk find order by rows検索が行ごとに実行されます。 行の各カラムが検索されたあとに次の行へと移動します (デフォルト)。
    targetInteger
    vk find target formulaセルフォーミュラ内で検索がおこなわれます。
    vk find target tagセルタグ内で検索がおこなわれます。
    vk find target textセルテキスト内で検索がおこなわれます (デフォルト)。

    フラグは組み合わせることができます。 例:$search.target:=vk find target formula+vk find target text

    任意の replaceValue 引数として、rangeObj 内で見つかった searchValue の値のテキストを置換するテキストを渡すことができます。

    返されるオブジェクト

    この関数は、検出または置換された検索値の詳細を格納したレンジオブジェクトを返します。 何も見つからなかった場合には、空のレンジオブジェクトが返されます。

    例題 1

    "Total" という単語が入っている最初のセルを見つけるには:

    var $range;$result : Object

    $range:=VP All("ViewProArea")

    $result:=VP Find($range;"Total")

    例題 2

    "Total" のセルを検出し、それを "Grand Total" で置き換えるには:

    var $range;$condition;$result : Object

    $range:=VP All("ViewProArea")

    $condition:=New object
    $condition.target:=vk find target text
    $condition.all:=True // ドキュメント全体を検索します
    $condition.flags:=vk find flag exact match

    // カレントシートにおいて "Total" のみを格納しているセルを "Grand Total" で置き換えます
    $result:=VP Find($range;"Total";$condition;"Grand Total")

    // 戻り値のレンジオブジェクトが空かどうかをチェックします
    If($result.ranges.length=0)
    ALERT("No result found")
    Else
    ALERT($result.ranges.length+" results found")
    End if

    VP Find table

    履歴
    バージョン内容
    v19 R7追加

    VP Find table ( rangeObj : Object ) : Text

    引数タイプ説明
    rangeObjObject->セルのレンジ
    戻り値Text<-表組みの名称

    説明

    VP Find table コマンドは、rangeObj で指定したセルが所属する表組みの名称を返します。

    rangeObj には、セルのレンジオブジェクトを渡します。 指定したセルが表組みの一部でない場合、コマンドは空の文字列を返します。

    rangeObj 引数のレンジが単独セルのレンジでない場合、あるいは複数レンジを指定している場合、最初のレンジの先頭セルが使用されます。

    例題

    If (FORM Event.code=On After Edit && FORM Event.action="valueChanged")
    $tableName:=VP Find table(FORM Event.range)
    If ($tableName#"")
    ALERT("表組み "+$tableName+" は変更されました。")
    End if
    End if

    参照

    VP Get table range

    VP FLUSH COMMANDS

    VP FLUSH COMMANDS ( vpAreaName : Text )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名

    説明

    VP FLUSH COMMANDS コマンドは、 保存されているコマンドをただちに実行し、コマンドバッファをクリアします。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    パフォーマンス向上と、送信リクエスト数を抑えるため、デベロッパーが呼び出した 4D View Pro コマンドはコマンドバッファに保存されます。 VP FLUSH COMMANDS は呼び出されると、メソッド終了時にコマンドをバッチとして実行し、コマンドバッファのコンテンツを空にします。

    例題

    コマンドの実行をトレースし、コマンドバッファを空にします:


    VP SET TEXT VALUE(VP Cell("ViewProArea1";10;1);"INVOICE")
    VP SET TEXT VALUE(VP Cell("ViewProArea1";10;2);"Invoice date: ")
    VP SET TEXT VALUE(VP Cell("ViewProArea1";10;3);"Due date: ")

    VP FLUSH COMMANDS(("ViewProArea1")
    TRACE

    VP Font to object

    VP Font to object ( font : Text ) : Object

    引数タイプ説明
    fontText->フォントのショートハンド文字列
    戻り値Object<-フォントオブジェクト

    説明

    VP Font to object ユーティリティコマンドは、フォントのショートハンド文字列からオブジェクトを返します。 このオブジェクトはその後、オブジェクト記法を通してフォントプロパティ設定を取得・設定するのに使用することができます。

    font には、フォントのショートハンド文字列を渡してフォントのプロパティを指定します (例: "12 pt Arial")。 フォントのショートハンド文字列についての詳細は、こちら を参照ください。

    返されるオブジェクトには、フォント属性がプロパティとして格納されています。 利用可能なプロパティの詳細については、VP Object to font コマンドを参照ください。

    例題 1

    以下のコードを実行すると:

    $font:=VP Font to object("16pt arial")

    以下の $font オブジェクトが返されます:

    {

    family:arial
    size:16pt
    }

    例題 2

    VP Object to font の例題を参照ください。

    参照

    4D View Pro Style Objects and Style Sheets
    VP Object to font
    VP SET CELL STYLE
    VP SET DEFAULT STYLE

    G

    VP Get active cell

    VP Get active cell ( vpAreaName : Text { ; sheet : Integer } ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Object<-単一セルのレンジオブジェクト

    説明

    VP Get active cell コマンドは、フォーカスを持ち、データ入力されようとしてるセル (アクティブセル) を参照する新しいレンジオブジェクトを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、定義されるレンジが属するスプレッドシートを指定することができます。 省略された場合、または vk current sheet を渡した場合、カレントスプレッドシートが使用されます。

    例題

    以下のコードを実行するとアクティブセルの座標が取得できます:

    $activeCell:=VP Get active cell("myVPArea")

    // 返されるレンジオブジェクトには以下が格納されています:
    //$activeCell.ranges[0].column=3
    //$activeCell.ranges[0].row=4
    //$activeCell.ranges[0].sheet=0

    参照

    VP ADD SELECTION
    VP Get selection
    VP RESET SELECTION
    VP SET ACTIVE CELL
    VP SET SELECTION
    VP SHOW CELL

    VP Get binding path

    履歴
    バージョン内容
    v19 R5追加

    VP Get binding path ( rangeObj : Object ) : Text

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    戻り値Text<-セルにバインドされた属性の名称

    説明

    VP Get binding path コマンドは、rangeObj で指定したセルにバインドされた属性の名称を返します。

    rangeObj 引数には、セルレンジまたは複合セルレンジのオブジェクトを渡します。 注:

    • rangeObj のレンジが複数セルを含む場合、コマンドは最初のセルにバインドされている属性名を返します。
    • rangeObj 引数が複数のレンジを含む場合、最初のレンジの最初のセルにバインドされた属性名が返されます。

    例題

    var $p; $options : Object
    var $myAttribute : Text

    $p:=New object
    $p.firstName:="Freehafer"
    $p.lastName:="Nancy"

    VP SET DATA CONTEXT("ViewProArea"; $p)

    VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 0); "firstName")
    VP SET BINDING PATH(VP Cell("ViewProArea"; 1; 0); "lastName")

    $myAttribute:=VP Get binding path(VP Cell("ViewProArea"; 1; 0)) // "lastName"

    参照

    VP SET BINDING PATH
    VP Get data context
    VP SET DATA CONTEXT

    VP Get cell style

    VP Get cell style ( rangeObj : Object ) : Object

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    戻り値Object<-スタイルオブジェクト

    説明

    VP Get cell style コマンドは、rangeObj 引数で指定したレンジの最初のセルの スタイルオブジェクト を返します。

    rangeObj 引数で、スタイルを取得するレンジを指定します。

    • rangeObj 引数としてセルレンジを渡した場合、セルのスタイルが返されます。
    • rangeObj 引数として、セルレンジではないレンジを渡した場合、そのレンジ内の最初のセルのスタイルが返されます。
    • rangeObj 引数に複数のレンジが含まれている場合、最初のレンジの最初のセルのスタイルのみが返されます。

    例題

    選択されたセル (B2) のスタイルの詳細を取得します:

    以下のコードを実行すると:

    $cellStyle:=VP Get cell style(VP Get selection("myDoc"))

    ... 以下のオブジェクトが返されます:

    {
    "backColor":"Azure",
    "borderBottom":
    {
    "color":#800080,
    "style":5
    }
    "font":"8pt Arial",
    "foreColor":"red",
    "hAlign":1,
    "isVerticalText":"true",
    "vAlign":0
    }

    参照

    VP GET DEFAULT STYLE
    VP SET CELL STYLE

    VP Get column attributes

    VP Get column attributes ( rangeObj : Object ) : Collection

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    戻り値Collection<-カラムプロパティのコレクション

    説明

    VP Get column attributes コマンドは、rangeObj 引数で指定したレンジ内にあるカラムのプロパティのコレクションを返します。

    rangeObj 引数には、属性を取得したいカラムのレンジを格納しているオブジェクトを渡します。

    VP SET COLUMN ATTRIBUTES コマンドを使用して属性を設定してる/いないに関わらず、返されるコレクションにはカラムの属性がすべて返されます。

    例題

    以下のコードは:

    C_OBJECT($range)
    C_COLLECTION($attr)

    $range:=VP Column("ViewProArea";1;2)
    $attr:=VP Get column attributes($range)

    ... 渡したレンジ内の属性のコレクションを返します:

    参照

    VP Get row attributes
    VP SET COLUMN ATTRIBUTES
    VP SET ROW ATTRIBUTES

    VP Get column count

    VP Get column count ( vpAreaName : Text { ; sheet : Integer } ) : Integer

    引数タイプ説明
    vpAreaNameText->4D View Pro エリアフォームオブジェクト名
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Integer<-カラムの総数

    説明

    VP Get column count コマンドは、sheet 引数で指定したシートにおけるカラムの総数を返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    任意の sheet 引数にシートインデックス (0 起点) を指定することで、どのシートのカラム数を取得するかを定義することができます。 省略された場合、または vk current sheet を渡した場合、カレントスプレッドシートが使用されます。

    例題

    以下のコードを実行すると、4D View Pro エリア内のカラムの数が返されます:

    C_INTEGER($colCount)
    $colCount:=VP Get column count("ViewProarea")

    参照

    VP Get row count
    VP SET COLUMN COUNT
    VP SET ROW COUNT

    VP Get current sheet

    VP Get current sheet ( vpAreaName : Text )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    戻り値Integer<-カレントシートのインデックス

    説明

    VP Get current sheet コマンドは、vpAreaName 引数で指定した View Pro エリアのカレントシートのインデックスを返します。 カレントシートとは、ドキュメント内で選択されているシートのことです。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    インデックスは 0 起点です。

    例題

    3番目のシートが選択されている場合:

    third-sheet

    コマンドは 2 を返します:

    $index:=VP Get current sheet("ViewProArea")

    参照

    VP SET CURRENT SHEET

    VP Get data context

    履歴
    バージョン内容
    v19 R5追加

    VP Get data context ( vpAreaName : Text {; sheet : Integer } ) : Object
    VP Get data context ( vpAreaName : Text {; sheet : Integer } ) : Collection

    引数タイプ説明
    vpAreaNameObject->4D View Pro フォームオブジェクト名
    sheetInteger->データコンテキストを取得するシートのインデックス
    戻り値Object | Collection<-データコンテキスト

    説明

    VP Get data context コマンドは、 ワークシートのカレントのデータコンテキストを返します。 返されるコンテキストには、データコンテキストの内容に対しておこなわれた変更を含みます。

    sheet には、データコンテキストを取得するシートのインデックスを渡します。 インデックスを省略した場合、コマンドはカレントワークシートのデータコンテキストを返します。 ワークシートのコンテキストが存在しない場合、コマンドは Null を返します。

    VP SET DATA CONTEXT により設定されたデータコンテキストの種類によって、関数はオブジェクトまたはコレクションを返します。

    例題

    次のセルにバインドされたデータコンテキストを取得します:

    var $dataContext : Object

    $dataContext:=VP Get data context("ViewProArea") // {firstName:Freehafer,lastName:Nancy}

    参照

    VP SET DATA CONTEXT
    VP Get binding path
    VP SET BINDING PATH

    VP Get default style

    VP Get default style ( vpAreaName : Text { ; sheet : Integer } ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro エリアフォームオブジェクト名
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Object<-デフォルトスタイル設定

    説明

    VP Get default style コマンドは、シートのデフォルトスタイルオブジェクトを返します。 返されるオブジェクトには、ドキュメントの基本的なレンダリングプロパティに加え、VP SET DEFAULT STYLE コマンドによって事前に設定されたデフォルトのスタイル設定 (あれば) が格納されます。 スタイルプロパティの詳細な情報については、スタイルオブジェクトとスタイルシート を参照ください。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    任意の sheet 引数にシートインデックス (0 起点) を指定することで、どのシートのカラム数を取得するかを定義することができます。 省略された場合、または vk current sheet を渡した場合、カレントスプレッドシートが使用されます。

    例題

    このドキュメントのデフォルトスタイルを取得したい場合:

    以下のコードを実行すると:

    $defaultStyle:=VP Get default style("myDoc")

    $defaultStyle オブジェクトに以下のような情報が返されます:

    {
    backColor:#E6E6FA,
    hAlign:0,
    vAlign:0,
    font:12pt papyrus
    }

    参照

    VP Get cell style
    VP SET DEFAULT STYLE

    VP Get formula

    VP Get formula ( rangeObj : Object) : Text

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    戻り値Text<-Formula

    説明

    VP Get formula コマンドは、指定したセルレンジのフォーミュラを取得します。

    rangeObj 引数で、フォーミュラを取得したいレンジを指定します。 rangeObj 引数のレンジが複数セルあるいは複数レンジを指定している場合、最初のセルのフォーミュラが返されます。 rangeObj 引数がフォーミュラのないセルを指定している場合、コマンドは空の文字列を返します。

    例題

      // フォーミュラを設定します
    VP SET FORMULA(VP Cell("ViewProArea";5;2);"SUM($A$1:$C$10)")

    $result:=VP Get formula(VP Cell("ViewProArea";5;2)) // $result="SUM($A$1:$C$10)"

    参照

    VP Get formulas
    VP SET FORMULA
    VP SET ROW COUNT

    VP Get formula by name

    VP Get formula by name ( vpAreaName : Text ; name : Text { ; scope : Number } ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    nameText->命名レンジの名前
    scopeNumber->ターゲットのスコープ (デフォルト=カレントシート)
    戻り値Object<-命名フォーミュラ、または命名レンジの定義

    説明

    VP Get formula by name コマンドは、 name 引数で指定された名前の命名フォーミュラ、あるいは命名レンジに対応したフォーミュラとコメントを返します (定義されたスコープにそれらが存在しない場合には null が返されます)。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    name には、取得したい命名レンジあるいは命名フォーミュラの名前を渡します。 命名レンジは、絶対セル参照を格納したフォーミュラとして返されるという点に注意してください。

    scope 引数を使用することで、フォーミュラを取得するスコープを定義できます。その際、シートのインデックス (0 起点) を渡すか、以下の定数のいずれかを渡します:

    • vk current sheet
    • vk workbook
    返されるオブジェクト

    戻り値のオブジェクトには、以下のプロパティが格納されています:

    プロパティタイプ説明
    formulaText命名フォーミュラまたは命名レンジに対応したフォーミュラのテキスト。 命名レンジの場合、フォーミュラは連続した絶対セル参照として返されます。
    commentText命名フォーミュラまたは命名レンジに対応したコメント

    例題

    $range:=VP Cell("ViewProArea";0;0)
    VP ADD RANGE NAME("Total1";$range)

    $formula:=VP Get formula by name("ViewProArea";"Total1")
    //$formula.formula=Sheet1!$A$1

    $formula:=VP Get formula by name("ViewProArea";"Total")
    //$formula=null (存在しない場合)

    参照

    VP ADD FORMULA NAME
    VP Get names

    VP Get formulas

    VP Get formulas ( rangeObj : Object ) : Collection

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    戻り値Collection<-フォーミュラ値のコレクション

    説明

    VP Get formulas コマンドは、rangeObj 引数で指定したレンジからフォーミュラを取得します。

    rangeObj 引数で、フォーミュラを取得したいレンジを指定します。 rangeObj 引数のレンジが複数レンジを指定している場合、最初のレンジのフォーミュラが返されます。 rangeObj 引数のレンジにフォーミュラが一つも含まれていない場合には、コマンドは空の文字列を返します。

    返されるコレクションは 2次元構造になっています:

    • 第1レベルのコレクションは、フォーミュラのサブコレクションを格納しています。 それぞれのサブコレクションは行をあらわします。
    • それぞれのサブコレクションは行におけるセルの値を定義します。 値は、セルのフォーミュラを格納しているテキスト要素です。

    例題

    このドキュメントの総計行と平均行のフォーミュラを取得します:

    以下のコードを使用することができます:

    $formulas:=VP Get formulas(VP Cells("ViewProArea";5;1;2;3))
    //$formulas[0]=[Sum(B2:D2),Average(B2:D2)]
    //$formulas[1]=[Sum(B3:D3),Average(B3:D3)]
    //$formulas[2]=[Sum(B4:D4),Average(C4:D4)]

    参照

    VP Get formula
    VP Get values
    VP SET FORMULAS
    VP SET VALUES

    VP Get frozen panes

    VP Get frozen panes ( vpAreaName : Text { ; sheet : Integer } ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Object<-固定化されたカラムと行についての情報を格納したオブジェクト

    説明

    VP Get frozen panes コマンドは、vpAreaName 引数で指定した View Pro エリア内の、固定化されたカラムと行についての情報を格納したオブジェクトを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、定義されるレンジが属するスプレッドシートを指定することができます。 省略された場合、または vk current sheet を渡した場合、カレントスプレッドシートが使用されます。

    返されるオブジェクト

    このコマンドは固定化されたカラムと行についてのオブジェクトを返します。 このオブジェクトには、次のプロパティが格納されることがあります:

    プロパティタイプ説明
    columnCountIntegerシートの左側にある固定化されたカラム
    trailingColumnCountIntegerシートの右側にある固定化されたカラム
    rowCountIntegerシートの上側にある固定化された行
    trailingRowCountIntegerシートの下側にある固定化された行

    例題

    固定化されたカラムと行についての情報を取得します:

    var $panesObj : Object


    $panesObj:=VP Get frozen panes("ViewProArea")

    戻り値のオブジェクトには、以下のようなものが格納されています:

    参照

    VP SET FROZEN PANES

    VP Get names

    VP Get names ( vpAreaName : Text { ; scope : Number } ) : Collection

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    scopeNumber->ターゲットのスコープ (デフォルト = カレントシート)
    戻り値Collection<-定義されたスコープ内に存在する名前

    説明

    VP Get names コマンドは、カレントシートまたは scope 引数で指定されたスコープ内において定義されているすべての "名前" のコレクションを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    scope 引数を使用することで、名前を取得するスコープを定義できます。その際、シートのインデックス (0 起点) を渡すか、以下の定数のいずれかを渡します:

    • vk current sheet
    • vk workbook
    返されるコレクション

    返されるコレクションには、1つの名前につき 1つのオブジェクトが格納されています。 以下のオブジェクトプロパティが返されます:

    プロパティタイプ説明
    result[ ].nameTextセルまたはレンジ名
    result[ ].formulaTextformula
    result[ ].commentText名前に割り当てられたコメント

    返されるプロパティは、命名された要素のタイプ (命名セル、命名レンジ、または命名フォーミュラ) に応じて異なります。

    例題

    var $list : Collection


    $list:=VP Get names("ViewProArea";2) // 3番目のシートにある名前

    参照

    VP ADD FORMULA NAME
    VP ADD RANGE NAME
    VP Get formula by name
    VP Name

    VP Get print info

    VP Get print info ( vpAreaName : Text { ; sheet : Integer } ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Object<-印刷情報のオブジェクト

    説明

    VP Get print info コマンドは、vpAreaName 引数で指定したエリアの印刷属性を格納したオブジェクトを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、印刷属性を取得するスプレッドシートを指定することができます。 省略された場合、または vk current sheet を渡した場合、カレントスプレッドシートが使用されます。

    例題

    以下のコードを実行すると:

    $pinfo:=VP Get print info("ViewProArea")

    ... VP SET PRINT INFO コマンドで設定された、4D View Pro エリアの以下のような印刷属性を返します:

    {
    bestFitColumns:false,
    bestFitRows:false,
    blackAndWhite:false,
    centering:0,
    columnEnd:8,
    columnStart:0,
    firstPageNumber:1,
    fitPagesTall:1,
    fitPagesWide:1,
    footerCenter:"&BS.H.I.E.L.D. &A Sales Per Region",
    footerCenterImage:,
    footerLeft:,
    footerLeftImage:,
    footerRight:"page &P of &N",
    footerRightImage:,
    headerCenter:,
    headerCenterImage:,
    headerLeft:"&G",
    headerLeftImage:logo.png,
    headerRight:,
    headerRightImage:,
    margin:{top:75,bottom:75,left:70,right:70,header:30,footer:30},
    orientation:2,
    pageOrder:0,
    pageRange:,
    paperSize:{width:850,height:1100,kind:1},
    qualityFactor:2,
    repeatColumnEnd:-1,
    repeatColumnStart:-1,
    repeatRowEnd:-1,
    repeatRowStart:-1,
    rowEnd:24,
    rowStart:0,
    showBorder:false,
    showColumnHeader:0,
    showGridLine:false,
    showRowHeader:0,
    useMax:true,
    watermark:[],
    zoomFactor:1
    }

    参照

    4D View Pro Print Attributes
    VP SET PRINT INFO

    VP Get row attributes

    VP Get row attributes ( rangeObj : Object ) : Collection

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    戻り値Collection<-行プロパティのコレクション

    説明

    VP Get row attributes コマンドは、rangeObj 引数で指定したレンジ内にある行のプロパティのコレクションを返します。

    rangeObj 引数には、属性を取得したい行のレンジを格納しているオブジェクトを渡します。

    VP SET ROW ATTRIBUTES コマンドを使用して属性を設定してる/いないに関わらず、返されるコレクションには行の属性がすべて返されます。

    例題

    以下のコードは、指定したレンジ内の行属性のコレクションを返します:

    var $range : Object
    var $attr : Collection

    $range:=VP Column("ViewProArea";1;2)
    $attr:=VP Get row attributes($range)

    参照

    VP Get column attributes
    VP SET COLUMN ATTRIBUTES
    VP SET ROW ATTRIBUTES

    VP Get row count

    VP Get row count ( vpAreaName : Text {; sheet : Integer } ) : Integer

    引数タイプ説明
    vpAreaNameText->4D View Pro エリアフォームオブジェクト名
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Integer<-行の総数

    説明

    VP Get row count コマンドは、sheet 引数で指定したシートにおける行の総数を返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    任意の sheet 引数にシートインデックス (0 起点) を指定することで、どのシートの行数を取得するかを定義することができます。 省略された場合、または vk current sheet を渡した場合、カレントスプレッドシートが使用されます。

    例題

    以下のコードを実行すると、4D View Pro エリア内の行の数が返されます:

    var $rowCount : Integer
    $rowCount:=VP Get row count("ViewProarea")

    参照

    VP Get column count
    VP SET COLUMN COUNT
    VP SET ROW COUNT

    VP Get selection

    VP Get selection ( vpAreaName : Text {; sheet : Integer } ) ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro エリアフォームオブジェクト名
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Object<-複数セルのレンジオブジェクト

    説明

    VP Get selection コマンドは、現在選択されているセルを参照する新しいレンジオブジェクトを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、定義されるレンジが属するスプレッドシートを指定することができます。 省略された場合、または vk current sheet を渡した場合、カレントスプレッドシートが使用されます。

    例題

    以下のコードを実行すると、現在選択されているセルの座標がすべて取得できます:

    $currentSelection:=VP Get selection("myVPArea")


    // 返されるレンジオブジェクトには以下が格納されています:
    //$currentSelection.ranges[0].column=5
    //$currentSelection.ranges[0].columnCount=2
    //$currentSelection.ranges[0].row=8
    //$currentSelection.ranges[0].rowCount=6

    参照

    VP ADD SELECTION
    VP Get active cell
    VP SET ACTIVE CELL
    VP SET SELECTION
    VP SHOW CELL

    VP Get sheet count

    VP Get sheet count ( vpAreaName : Text ) : Integer

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    戻り値Integer<-シートの数

    説明

    VP Get sheet count コマンドは、 vpAreaName で指定したエリアにロードされているドキュメント内にあるシート数を返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    例題

    以下のドキュメントにおいて:

    シート数を取得し、最後のシートをカレントシートに設定します:

     $count:=VP Get sheet count("ViewProArea")
    // 最後のシートをカレントシートに設定します (0 起点)
    VP SET CURRENT SHEET("ViewProArea";$count-1)

    参照

    VP Get sheet index
    VP SET SHEET COUNT

    VP Get sheet index

    VP Get sheet index ( vpAreaName : Text ; name : Text ) : Integer

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    nameText->シート名
    戻り値Integer<-シートのインデックス

    説明

    VP Get sheet index コマンドは、vpAreaName 引数で指定したエリア内の、シート名で指定したシートのインデックスを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    name には、インデックスを返して欲しいシートの名前を渡します。 name 引数のシート名がドキュメント内に見つからない場合、コマンドは -1 を返します。

    インデックスは 0 起点です。

    例題

    以下のドキュメントにおいて:

    "Total first quarter" という名前のシートのインデックスを取得します:

    $index:=VP Get sheet index("ViewProArea";"Total first quarter") // 2 を返します

    参照

    VP Get sheet count
    VP Get sheet name

    VP Get sheet name

    VP Get sheet name ( vpAreaName : Text ; sheet : Integer ) : Text

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    sheetInteger->シートのインデックス
    戻り値Text<-シート名

    説明

    VP Get sheet name コマンドは、vpAreaName 引数で指定したエリア内の、インデックスで指定したシートの名前を返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    sheet には、名前を返して欲しいシートのインデックスを渡します。

    渡したシートインデックスが存在しない場合、コマンドは空の文字列を返します。

    インデックスは 0 起点です。

    例題

    ドキュメント内の 3つめのシートの名前を取得します:

    $sheetName:=VP Get sheet name("ViewProArea";2)

    参照

    VP Get sheet index

    VP Get sheet options

    VP Get sheet options ( vpAreaName : Text {; sheet : Integer } ) ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro エリアフォームオブジェクト名
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Object<-シートオプションのオブジェクト

    説明

    VP Get sheet options コマンドは、vpAreaName で指定したエリア内の、カレントのシートオプションを格納したオブジェクトを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、スプレッドシートを指定することができます。 省略された場合、または vk current sheet を渡した場合、カレントスプレッドシートが使用されます。

    返されるオブジェクト

    コマンドは、利用可能なシートオプションのカレント値をすべて格納したオブジェクトを返します。 オプションの値は、ユーザーあるいは VP SET SHEET OPTIONS コマンドによって変更される可能性があります。

    オプション一覧については、シートオプション を参照ください。

    例題

    $options:=VP Get sheet options("ViewProArea")
    If($options.colHeaderVisible) // カラムヘッダーが表示状態の場合
    ... // なんらかの処理
    End if

    参照

    4D VIEW PRO SHEET OPTIONS
    VP SET SHEET OPTIONS

    VP Get show print lines

    VP Get show print lines ( vpAreaName : Text {; sheet : Integer } ) : Boolean

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    sheetInteger<-シートのインデックス
    戻り値Boolean<-印刷線が表示状態であれば true、それ以外は false

    説明

    VP Get show print lines コマンドは、印刷プレビューの線が表示状態であれば true を、非表示であれば false を返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    sheet には、ターゲットシートのインデックスを渡します。 sheet が省略された場合、コマンドはカレントシートに対して適用されます。

    インデックスは 0 起点です。

    例題

    以下のコードは、ドキュメントの印刷プレビュー線の表示状態をチェックします:

     var $result : Boolean
    $result:=VP Get show print lines("ViewProArea";1)

    参照

    VP SET SHOW PRINT LINES

    VP Get spans

    VP Get spans ( rangeObj : Object ) : Object

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    戻り値Object<-指定レンジ内にあるセル結合のオブジェクト

    説明

    VP Get spans コマンドは、rangeObj で指定したレンジ内にあるセル結合を取得します。

    rangeObj 引数で、セル結合を取得したいレンジを指定します。 rangeObj にセル結合が含まれない場合には、空のレンジが返されます。

    例題

    ドキュメント内の結合セルにおいて、テキストを中央揃えに変更します:

    // すべてのセル結合を検索します
    $range:=VP Get spans(VP All("ViewProArea"))

    // テキストを中央揃えにします
    $style:=New object("vAlign";vk vertical align center;"hAlign";vk horizontal align center)
    VP SET CELL STYLE($range;$style)

    参照

    VP ADD SPAN
    VP REMOVE SPAN

    VP Get stylesheet

    VP Get stylesheet ( vpAreaName : Text ; styleName : Text { ; sheet : Integer } ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    styleNameText->スタイルの名前
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Object<-スタイルシートオブジェクト

    説明

    VP Get stylesheet コマンドは、styleName で指定した、定義済のプロパティ値を格納したスタイルシートオブジェクトを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    styleName には、取得するスタイルシートの名前を渡します。

    任意の sheet 引数を使用することで、スタイルシートをどこから取得するかを指定することができます。シートインデックス (0 起点) か、以下の定数のいずれかを渡すことができます:

    • vk current sheet
    • vk workbook

    例題

    以下のコードは:

    $style:=VP Get stylesheet("ViewProArea";"GreenDashDotStyle")

    ... カレントシートの GreenDashDotStyle スタイルオブジェクトを返します:

    {
    backColor:green,
    borderBottom:{color:green,style:10},
    borderLeft:{color:green,style:10},
    borderRight:{color:green,style:10},
    borderTop:{color:green,style:10}
    }

    参照

    4D View Pro Style Objects and Style Sheets
    VP ADD STYLESHEET
    VP Get stylesheets
    VP REMOVE STYLESHEET

    VP Get stylesheets

    VP Get stylesheets ( vpAreaName : Text { ; sheet : Integer } ) : Collection

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    sheetInteger->ターゲットのスコープ (デフォルト = カレントシート)
    戻り値Collection<-スタイルシートオブジェクトのコレクション

    説明

    VP Get stylesheets コマンドは、sheet で指定されたスコープにおいて定義されているスタイルシートのコレクションを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    任意の sheet 引数を使用することで、スタイルシートをどこから取得するかを指定することができます。シートインデックス (0 起点) か、以下の定数のいずれかを渡すことができます:

    • vk current sheet
    • vk workbook

    例題

    以下のコードは、カレントシート内にある全スタイルオブジェクトのコレクションを返します:

    $styles:=VP Get stylesheets("ViewProArea")

    カレントシートが 2つのスタイルオブジェクトを使用していた場合:

    [
    {
    backColor:green,
    borderLeft:{color:green,style:10},
    borderTop:{color:green,style:10},
    borderRight:{color:green,style:10},
    borderBottom:{color:green,style:10},
    name:GreenDashDotStyle
    },
    {
    backColor:red,
    textIndent:10,
    name:RedIndent
    }
    ]

    参照

    VP ADD STYLESHEET
    VP Get stylesheet
    VP REMOVE STYLESHEET

    VP Get table column attributes

    履歴
    バージョン内容
    v19 R7追加

    VP Get table column attributes ( vpAreaName : Text ; tableName : Text ; column : Integer {; sheet : Integer } ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    tableNameText->表組みの名称
    columnInteger->表の列のインデックス
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Object<-column の属性

    説明

    VP Get table column attributes コマンドは、tableName で指定した表組みの column でインデックスを指定した列のカレント属性を返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    sheet には、ターゲットシートのインデックスを渡します。 index が省略された場合、または -1 が渡された場合、コマンドはカレントシートに対して適用されます。

    インデックスは 0 起点です。

    このコマンドは、column のカレント属性を格納するオブジェクトを返します:

    プロパティタイプ説明
    dataFieldtextデータコンテキストにおける、表の列のプロパティ名。 表組みが自動で表示されている場合は返されません。
    nametext表の列の名前。
    footerTexttext列のフッター値
    footerFormulatext列のフッターのフォーミュラ。
    filterButtonVisibleboolean列のフィルターボタンが表示されている場合には true、そうでない場合は false。

    tableName に指定した名称の表組みが見つからない場合、または column に指定したインデックスが列数を超える場合には、コマンドは null を返します。

    例題

    var $attributes : Object
    $attributes:=VP Get table column attributes("ViewProArea"; $tableName; 1)
    If ($attributes.dataField#"")
    ...
    End if

    参照

    VP CREATE TABLE
    VP Find table
    VP SET TABLE COLUMN ATTRIBUTES
    VP RESIZE TABLE

    VP Get table column index

    履歴
    バージョン内容
    v19 R7追加

    VP Get table column index ( vpAreaName : Text ; tableName : Text ; columnName : Text {; sheet : Integer } ) : Integer

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    tableNameText->表組みの名称
    columnNameText->列の名称
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Integer<-columnName のインデックス

    説明

    VP Get table column index コマンドは、tableName で指定した表組みの columnName で指定した列のインデックスを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    columnName には、インデックスを取得する表組みの列の名前を渡します。

    sheet には、ターゲットシートのインデックスを渡します。 index が省略された場合、または -1 が渡された場合、コマンドはカレントシートに対して適用されます。

    インデックスは 0 起点です。

    tableName で指定した表組み、または columnName で指定した列が見つからない場合、コマンドは -1 を返します。

    例題

        // 列の名前をもとに、列のインデックスを取得します
    var $id : Integer
    $id:=VP Get table column index($area; $tableName; "Weight price")
    // インデックスを指定して列を削除します
    VP REMOVE TABLE COLUMNS($area; $tableName; $id)

    参照

    VP CREATE TABLE
    VP Find table
    VP Get table column attributes
    VP SET TABLE COLUMN ATTRIBUTES

    VP Get table dirty rows

    履歴
    バージョン内容
    v19 R8追加

    VP Get table dirty rows ( vpAreaName : Text ; tableName : Text { ; reset : Boolean {; sheet : Integer }} ) : Collection

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    tableNameText->表組みの名称
    resetBoolean->現在の表から "ダーティ" ステータスをクリアするには true、そのままにするには false を指定します。 デフォルト = true
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Collection<-前回のリセット以降に変更された全項目を格納するオブジェクトのコレクション

    説明

    VP Get table dirty rows コマンドは、tableName が指定する表組みの前回のリセット以降に変更された項目を含む dirty row ("ダーティ" な行) のオブジェクトのコレクションを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    tableName には、変更された行を取得したい表組みの名称を渡します。 なお、データコンテキスト にバインドされている列の変更のみが考慮されます。

    デフォルトでは、このコマンドを呼び出すと、現在のテーブルから ダーティ のステータスをクリアします。 この状態をリセットせずに維持するには、resetfalse を渡します。

    sheet には、ターゲットシートのインデックスを渡します。 index が省略された場合、または -1 が渡された場合、コマンドはカレントシートに対して適用されます。

    インデックスは 0 起点です。

    返されるコレクション内の各 dirty row ("ダーティ" な行) オブジェクトは、以下のプロパティを含みます:

    プロパティタイプ説明
    itemobject変更された行の変更オブジェクト
    originalItemobject変更前のオブジェクト
    rowinteger変更された行のインデックス

    tableName が見つからない場合、または変更された列が含まれていない場合、コマンドは空のコレクションを返します。

    例題

    変更された行の数を取得します:

    var $dirty : Collection
    $dirty:=VP Get table dirty rows("ViewProArea"; "ContextTable"; False)
    VP SET NUM VALUE(VP Cell("ViewProArea"; 0; 0); $dirty.length)

    参照

    VP CREATE TABLE
    VP Find table
    VP SET TABLE COLUMN ATTRIBUTES
    VP RESIZE TABLE

    VP Get table range

    履歴
    バージョン内容
    v19 R7追加

    VP Get table range ( vpAreaName : Text ; tableName : Text {; onlyData : Integer {; sheet : Integer }} ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    tableNameText->表組みの名称
    onlyDataInteger->vk table full range (デフォルト) または vk table data range
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Object<-表組みが含まれるレンジ

    説明

    VP Get table range コマンドは、tableName で指定した表組みが含まれるレンジを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    onlyData 引数に次のいずれかの定数を渡すことで、データ部のみを対象とするかを指定できます:

    定数説明
    vk table full range0フッターとヘッダーを含む表組みの全エリアを含むセルレンジを取得します (省略した場合のデフォルト)
    vk table data range1表組みのデータエリアのみを含むセルレンジを取得します

    sheet には、ターゲットシートのインデックスを渡します。 index が省略された場合、コマンドはカレントシートに対して適用されます。

    インデックスは 0 起点です。

    tableName に指定した名称の表組みが見つからない場合、コマンドは null を返します。

    参照

    VP RESIZE TABLE
    VP Find table

    VP Get table theme

    履歴
    バージョン内容
    v19 R8追加

    VP Get table theme ( vpAreaName : Text ; tableName : Text ) : cs.ViewPro.TableTheme

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    tableNameText->表組みの名称
    戻り値cs.ViewPro.TableTheme<-現在の表テーマのプロパティ値

    説明

    VP Get table theme コマンドは、tableName で指定した表組みの現在のテーマのプロパティ値を返します。 表組みのテーマは、VP CREATE TABLE または VP SET TABLE THEME コマンド、もしくはインターフェースから設定することができます。

    vpAreaName には 4D View Pro エリアの名前を渡します。tableName には表組みの名前を渡します。

    このコマンドは、現在の表テーマを記述するプロパティと値を格納する、cs.ViewPro.TableTheme クラスのオブジェクトを返します。

    例題

    このコマンドは、テーマの定義に ネイティブSpreadJSテーマ の名前が使用された場合でも、完全な theme オブジェクトを返します。

    var $param : cs.ViewPro.TableTheme
    $param:=cs.ViewPro.TableTheme.new()
    $param.theme:="dark10" // ネイティブテーマ名を使用します

    VP SET TABLE THEME("ViewProArea"; "ContextTable"; $param)
    $vTheme:=VP Get table theme("ViewProArea"; "ContextTable")
    $result:=Asserted(Value type($vTheme.theme)=Is object) // true

    参照

    VP CREATE TABLE
    VP SET TABLE THEME

    VP Get tables

    履歴
    バージョン内容
    v19 R7追加

    VP Get tables ( vpAreaName : Text { ; sheet : Integer } ) : Collection

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    sheetInteger->シートのインデックス (省略した場合はカレントシート)
    戻り値Collection<-表組みの名称をすべて格納するテキストのコレクション

    説明

    VP Get tables コマンドは、sheet で指定されたスコープにおいて定義されている表組み名のコレクションを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    sheet には、ターゲットシートのインデックスを渡します。 index が省略された場合、コマンドはカレントシートに対して適用されます。

    インデックスは 0 起点です。

    例題

    以下のコードは、カレントシート内にある全表組み名のコレクションを返します:

    $tables:=VP Get tables("ViewProArea")
    //$tables の中身の例: ["contextTable","emailTable"]

    参照

    VP CREATE TABLE

    VP Get value

    VP Get value ( rangeObj : Object ) : Object

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    戻り値Object<-セルの値を格納したオブジェクト

    説明

    VP Get value コマンドは、指定されたセルレンジからセルの値を取得します。

    rangeObj 引数で、値を取得したいレンジを指定します。

    返されるオブジェクト

    返されるオブジェクトには value プロパティと、JS日付値の場合に返される time プロパティが格納されます:

    プロパティタイプ説明
    valueInteger, Real, Boolean, Text, DaterangeObj レンジの値 (ただし時間型を除く)
    timeReal値が js 日付型の場合、時間値 (秒単位)

    返されるオブジェクトに日付または時間が含まれている場合、これは "日付時間"として扱われ、以下のように補完されます:

    • 時間値 - 日付部分は DD/MM/YYYY フォーマットの、1899年12月30日 (30/12/1899) として補完されます。
    • 日付値 - 時間部分は HH:MM:SS フォーマットの、真夜中 (00:00:00) として補完されます。

    rangeObj のレンジが複数セルあるいは複数レンジを含んでいる場合、最初のセルの値が返されます。 セルが空の場合には、コマンドは null オブジェクトを返します。

    例題

    $cell:=VP Cell("ViewProArea";5;2)
    $value:=VP Get value($cell)
    If(Value type($value.value)=Is text)
    VP SET VALUE($cell;New object("value";Uppercase($value.value)))
    End if

    参照

    VP Get values
    VP SET VALUE
    VP SET VALUES

    VP Get values

    VP Get values ( rangeObj : Object ) : Collection

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    戻り値Collection<-値のコレクション

    説明

    VP Get values コマンドは、 rangeObj で指定したレンジの値をすべて取得します。

    rangeObj 引数で、値を取得したいレンジを指定します。 rangeObj のレンジが複数レンジを指定している場合、最初のレンジのみが使用されます。

    VP Get values によって返されるコレクションは、2次元構造のコレクションです:

    • 第1レベルのコレクションの各要素は行を表し、値のサブコレクションを格納しています。
    • 各サブコレクションはその行のセル値を格納しています。 値は整数、実数、ブール、テキスト、Null のいずれかです。 値が日付または時間の場合には、以下のプロパティを持つオブジェクトとして返されます:
    プロパティタイプ説明
    valueDateセルの値 (時間部分を除く)
    timeReal値が js 日付型の場合、時間値 (秒単位)

    日付または時間は 日付時間 (datetime) として扱われ、以下のように補完されます:

    • 時間値 - 日付部分は 1899年12月30日として補完されます。
    • 日付値 - 時間部分は真夜中 (00:00:00:000) として補完されます。

    例題

    C4 から G6 までの値を取得します:

    $result:=VP Get values(VP Cells("ViewProArea";2;3;5;3))
    // $result[0]=[4,5,null,hello,world]
    // $result[1]=[6,7,8,9,null]
    // $result[2]=[null,{time:42,value:2019-05-29T00:00:00.000Z},null,null,null]

    参照

    VP Get formulas
    VP Get value
    VP SET FORMULAS
    VP SET VALUES

    VP Get workbook options

    VP Get workbook options ( vpAreaName : Text ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    戻り値Object<-ワークブックオプションを格納したオブジェクト

    説明

    VP Get workbook options コマンドは、 vpAreaName で指定したエリアのワークブックオプションをすべて格納したオブジェクトを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    返されるオブジェクトには、ワークブック内のワークブックオプションの値 (デフォルト値および変更値) がすべて格納されています。

    ワークブックオプションの一覧については VP SET WORKBOOK OPTIONS の説明 を参照ください。

    例題

    var $workbookOptions : Object

    $workbookOptions:=VP Get workbook options("ViewProArea")

    参照

    VP SET WORKBOOK OPTIONS

    I

    VP IMPORT DOCUMENT

    履歴
    バージョン内容
    v20 R2.sjsドキュメントをサポート

    VP IMPORT DOCUMENT ( vpAreaName : Text ; filePath : Text { ; paramObj : Object} )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    filePathText->ドキュメントのパス名
    paramObjObject->読み込みのオプション

    説明

    VP IMPORT DOCUMENT コマンドは、vpAreaName で指定した 4D View Pro エリアに、filePath 引数のドキュメントを読み込んで表示させます。 エリア内に挿入されていたデータがあれば、それらは読み込んだドキュメントによって置換されます。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    filePath には読み込むドキュメントのパスとファイル名を渡します。 以下のフォーマットがサポートされています :

    • 4D View Pro ドキュメント (拡張子 ".4vp")
    • Microsoft Excel 形式 (拡張子 ".xlsx")
    • テキスト形式のドキュメント (拡張子 ".txt", ".csv", ドキュメントは UTF-8 形式である必要あり)
    • SpreadJS ドキュメント (拡張子 ".sjs")

    ドキュメントの拡張子が認識される拡張子 (.4vp.xlsx など) ではなかった場合、ドキュメントはテキスト形式であると見なされます。 ドキュメントが Project フォルダーと同階層に置かれている場合を除き、フルパスを渡す必要があります (同階層に置かれている場合にはファイル名のみを渡すことができます)。

    filePath 引数が無効だった場合や、対象ファイルが存在しなかったり、壊れたりしている場合には、エラーが返されます。

    任意の paramObj 引数を渡すことで、読み込まれるドキュメントのプロパティを定義することができます:

    引数タイプ説明
    formula4D.Function読み込み終了時に実行させるコールバックメソッド。 Formula コマンドの戻り値フォーミュラを使用する必要があります。 コールバックメソッドの渡し方 を参照ください。
    passwordtextMicrosoft Excel のみ (任意) - MS Excel ドキュメントの保護に使用されているパスワード。
    csvOptionsobjectCSV読み込みのオプション
    rangeobject書き出されるデータの、最初のセルを格納しているセルレンジ。 指定されたレンジがセルレンジではない場合、レンジの最初のセルが使用されます。
    rowDelimitertext行の区切り文字。 渡されなかった場合、区切り文字は 4D によって自動的に定義されます。
    columnDelimitertextカラムの区切り文字。 デフォルト: ","
    sjsOptionsobjectsjs 読み込みのオプション
    calcOnDemandboolean要求されたときにだけフォーミュラを計算するかどうか。デフォルトは false。
    dynamicReferencesboolean動的参照を含む関数を計算するかどうか。デフォルトは true。
    fullRecalcbooleanjsonデータを読み込んだ後に計算するかどうか。デフォルトは false。
    includeFormulasboolean読み込み時にフォーミュラを含めるかどうか。デフォルトは true。
    includeStylesboolean読み込み時にスタイルを含めるかどうか。デフォルトは true。
    includeUnusedStylesbooleanexcel xml を json に変換する際、使用されていないカスタム名を含めるかどうか。デフォルトは true。
    openModeinteger
  • 0 (normal): 通常のオープンモード、レイジーなし、インクリメンタルなし。 ファイルを開くと、特定の時点で UI と UIイベントが更新され、応答します。
  • 1 (lazy): レイジー (遅延) オープンモード。 ファイルを開くと、アクティブなシートだけが直接読み込まれます。 ファイルを開くと、アクティブなシートだけが直接読み込まれます。 他のシートは使用された場合にのみ読み込まれます。
  • 2 (incremental): インクリメンタル (増分) オープンモード。 ファイルを開くと、データ読み込み中に UI と UIイベントが更新され、即座に応答します。
  • 注記
    • .xslx、.csv、.sjs 形式のファイルの読み込みは、非同期 でおこなわれます。 これらの形式で、ドキュメント処理の最後にアクションを実行したい場合には、formula プロパティを使用する必要があります。
    • Microsoft Excel 形式のファイルを 4D View Pro ドキュメントに読み込む場合、一部の設定が失われる可能性があります。 SpreadJS にある一覧 にて、設定を確認することができます。
    • CSV形式およびユーザー定義区切りの値 (DSV) に関する詳細については、こちらの Wikipedia の記事 (英文) を参照ください。

    例題 1

    フォームが開かれたときに、ディスク上に保存されているデフォルトの 4D View Pro ドキュメントを読み込みます:

    C_TEXT($docPath)
    If(Form event code=On VP Ready) // 4D View Pro エリアの読み込みが完了しています
    $docPath:="C:\\Bases\\ViewProDocs\\MyExport.4VP"
    VP IMPORT DOCUMENT("VPArea";$docPath)
    End if

    例題 2

    パスワードで保護されている Microsoft Excel ドキュメントを 4D View Pro エリアに読み込みます:

        // 読み込みコード
    var $o : Object
    $o:=New object
    $o.password:="excel123"
    $o.formula:=Formula(myImport)

    VP IMPORT DOCUMENT("ViewProArea";"c:\\tmp\\excelfilefile.xlsx";$o)
        // myImport コールバックメソッド
    #DECLARE($area : Text; $filePath : Text; $param : Object; $status : Object)

    If ($status.success)
    ALERT("読み込みに成功しました。")
    Else
    ALERT("エラー: "+$status.errorMessage)
    End if

    例題 3

    カンマ (",") を区切り文字として使用している .txt ファイルを読み込みます:

    example-import-csv

    $params:=New object
    $params.range:=VP Cells("ViewProArea";0;0;2;5)
    VP IMPORT DOCUMENT("ViewProArea";"c:\\import\\my-file.txt";New object("csvOptions";$params))

    このようになります: example-import-csv

    参照

    VP EXPORT DOCUMENT
    VP NEW DOCUMENT

    VP IMPORT FROM BLOB

    VP IMPORT FROM BLOB ( vpAreaName : Text ; vpBlob : 4D.blob { ; paramObj : Object} )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    vpBlob4D.Blob->4D View Proドキュメントを含む Blob
    paramObjObject->読み込みのオプション

    説明

    VP IMPORT FROM BLOB コマンドは、vpAreaName の 4D View Pro エリアの中身を、読み込んだ vpBlob で置換します。 vpBlob には、VP EXPORT TO BLOB コマンド、または 4D View Pro インターフェース経由で、Blob として保存された 4D View Pro ドキュメントが格納されている必要があります。

    paramObj には、複数のプロパティを渡せます:

    プロパティタイプ説明
    formula4D.Function読み込み終了時に実行させるコールバックメソッド。 コールバックメソッドの渡し方 を参照ください。
    calcOnDemandBoolean要求されたときにだけフォーミュラを計算するかどうか。デフォルトは false。
    dynamicReferencesBoolean動的参照を含む関数を計算するかどうか。デフォルトは true。
    fullRecalcBooleanjsonデータを読み込んだ後に計算するかどうか。デフォルトは false。
    includeFormulasBooleanフォーミュラを含めるかどうか。デフォルトは true。
    includeStylesBooleanスタイルを含めるかどうか。デフォルトは true。
    includeUnusedStylesBooleanexcel xml を json に変換する際、使用されていないカスタム名を含めるかどうか。デフォルトは true。
    openModeInteger0 (normal): 通常のオープンモード、レイジーなし、インクリメンタルなし。 ドキュメントを開くと、特定の時点で UI と UIイベントが更新され、応答します。
    1 (lazy): レイジー (遅延) オープンモード。 ドキュメントを開くと、アクティブなシートだけが直接読み込まれます。 他のシートは使用された場合にのみ読み込まれます。
    2 (incremental): インクリメンタル (増分) オープンモード。 ドキュメントを開くと、データ読み込み中に UI と UIイベントが更新され、即座に応答します。

    コールバックメソッドでは、以下のパラメーターを使用することができます:

    引数タイプ説明
    param1text4D View Pro エリアのオブジェクト名
    param24D.Blobインポートされた Blob
    param3objectコマンドの paramObj 引数への参照
    param4objectメソッドから返されるステータスメッセージを格納したオブジェクト
    .successboolean読み込みに成功した場合は true 、それ以外の場合は false
    .errorCodeintegerエラーコード。
    .errorMessagetextエラーメッセージ。

    例題

    myTableデータクラスの最初のエンティティに Blob として保存されている 4D View Proドキュメントを "ViewProArea" にインポートします。

    var $myBlobDocument : 4D.Blob :=ds.Table.all().first().blob
    VP IMPORT FROM BLOB("ViewProArea"; $myBlobDocument)

    参照

    VP EXPORT TO BLOB

    VP IMPORT FROM OBJECT

    VP IMPORT FROM OBJECT ( vpAreaName : Text { ; viewPro : Object} )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    viewProObject->4D View Pro オブジェクト

    説明

    VP IMPORT FROM OBJECT コマンドは、vpAreaName で指定した 4D View Pro エリアに viewPro の 4D View Pro オブジェクトを読み込んで表示させます。 エリア内に挿入されていたデータがあれば、それらは読み込んだオブジェクトのデータで置換されます。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    viewPro には有効な 4D View Pro オブジェクトを渡します。 このオブジェクトは手動で作成するほか、VP Export to object を使って取得することができます。 オブジェクトについての詳細は 4D View Pro オブジェクト を参照ください。

    viewPro オブジェクトが無効な場合には、エラーが返されます。

    例題

    オブジェクトフィールドに保存してあるスプレッドシートを読み込みます:

    QUERY([VPWorkBooks];[VPWorkBooks]ID=10)
    VP IMPORT FROM OBJECT("ViewProArea1";[VPWorkBooks]SPBook)

    参照

    VP Export to object

    VP INSERT COLUMNS

    VP INSERT COLUMNS ( rangeObj : Object )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト

    説明

    VP INSERT COLUMNS コマンドは、rangeObj 引数で指定したレンジにカラムを挿入します。

    rangeObj には、開始カラム (新しいカラムが挿入される場所を指定するカラム) と挿入するカラムの数を格納したオブジェクトを渡します。 挿入するカラムの数が省略された場合 (定義されていない場合)、カラムは 1列だけ挿入されます。

    新しいカラムは、rangeObj 引数で指定した開始カラムの直前 (すぐ左側) に挿入されます。

    例題

    2番目のカラムの前にカラムを3列挿入します:

    VP INSERT COLUMNS(VP Column("ViewProArea";1;3))

    このようになります:

    参照

    VP DELETE COLUMNS
    VP DELETE ROWS
    VP INSERT ROWS

    VP INSERT ROWS

    VP INSERT ROWS ( rangeObj : Object )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト

    説明

    VP INSERT ROWS コマンドは、rangeObj 引数で指定したレンジに行を挿入します。

    rangeObj には、開始行 (新しい行が挿入される場所を指定する行) と挿入する行数を格納したオブジェクトを渡します。 挿入する行数が省略された場合 (定義されていない場合) には、1行だけ挿入されます。

    新しい行は、rangeObj 引数で指定した開始行の直前 (すぐ上) に挿入されます。

    例題

    先頭行の前に 3行挿入します:

    VP INSERT ROWS(VP Row("ViewProArea";0;3))

    このようになります:

    参照

    VP DELETE COLUMNS
    VP DELETE ROWS
    VP INSERT COLUMNS

    VP INSERT TABLE COLUMNS

    履歴
    バージョン内容
    v19 R7追加

    VP INSERT TABLE COLUMNS ( vpAreaName : Text ; tableName : Text ; column : Integer {; count : Integer {; insertAfter : Integer {; sheet : Integer }}} )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    tableNameText->表組みの名称
    columnInteger->列の挿入場所を指定する表組み内のインデックス
    countText->挿入する列の数 (>0)
    insertAfterInteger->vk table insert before または vk table insert after
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP INSERT TABLE COLUMNS コマンドは、tableName で指定した表組みの column で指定した列インデックスに、1つまたは count で指定した数の空の列を挿入します。

    このコマンドで列を挿入した場合、通常は VP SET TABLE COLUMN ATTRIBUTES コマンドを使用してその内容を編集します。

    insertAfter パラメーターに以下の定数のいずれかを渡すことで、column に指定した列インデックスの前または後に列を挿入するかを指定できます:

    定数説明
    vk table insert before0column の前に列を挿入します (省略時のデフォルト)
    vk table insert after1column の後に列を挿入します

    このコマンドは、シート内ではなく、tableName の表組みに列を挿入します。 したがって、シートの総列数は、このコマンドの影響を受けません。 表組みより右側にデータがある場合は、挿入された列の数に応じて自動的に右に移動します。

    tableName の表組みが存在しない場合、あるいはシートに十分なスペースがない場合は、何も起こりません。

    例題

    VP INSERT TABLE ROWS および VP SET TABLE COLUMN ATTRIBUTES の例題を参照ください。

    参照

    VP INSERT TABLE ROWS
    VP REMOVE TABLE COLUMNS
    VP SET TABLE COLUMN ATTRIBUTES

    VP INSERT TABLE ROWS

    履歴
    バージョン内容
    v19 R7追加

    VP INSERT TABLE ROWS ( vpAreaName : Text ; tableName : Text ; row : Integer {; count : Integer {; insertAfter : Integer {; sheet : Integer }}} )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    tableNameText->表組みの名称
    rowInteger->行の挿入場所を指定する表組み内のインデックス
    countText->挿入する行の数 (>0)
    insertAfterInteger->vk table insert before または vk table insert after
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP INSERT TABLE ROWS コマンドは、tableName で指定した表組みの row で指定した行インデックスに、1つまたは count で指定した数の空の行を挿入します。

    insertAfter パラメーターに以下の定数のいずれかを渡すことで、row に指定した行インデックスの前または後に行を挿入するかを指定できます。

    定数説明
    vk table insert before0row の前に行を挿入します (省略時のデフォルト)
    vk table insert after1row の後に行を挿入します

    このコマンドは、シート内ではなく、tableName の表組みに行を挿入します。 したがって、シートの総行数は、このコマンドの影響を受けません。 表組みより下側にデータがある場合は、挿入された行の数に応じて自動的に下に移動します。

    tableName の表組みが データコンテキスト にバインドされている場合、このコマンドはコレクションに新しい空の要素を挿入します。

    tableName の表組みが存在しない場合、あるいはシートに十分なスペースがない場合は、何も起こりません。

    例題

    データコンテキストを使用した表組みを作成します:

    var $context : Object
    $context:=New object()

    $context.col:=New collection
    $context.col.push(New object("name"; "Smith"; "salary"; 10000))
    $context.col.push(New object("name"; "Wesson"; "salary"; 50000))
    $context.col.push(New object("name"; "Gross"; "salary"; 10500))

    VP SET DATA CONTEXT("ViewProArea"; $context)

    VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; 3; 3); "PeopleTable"; "col")

    表組みに 2行と 2列を挿入したい場合、次のように書きます:

    VP INSERT TABLE ROWS("ViewProArea"; "PeopleTable"; 1; 2)
    VP INSERT TABLE COLUMNS("ViewProArea"; "PeopleTable"; 1; 2)

    参照

    VP INSERT TABLE COLUMNS
    VP REMOVE TABLE ROWS

    M

    VP MOVE CELLS

    履歴
    バージョン内容
    v19 R4追加

    VP MOVE CELLS ( originRange : Object ; targetRange : Object ; options : Object )

    引数タイプ説明
    originRangeObject->移動 (コピー) 元のセルレンジ
    targetRangeObject->値・書式・フォーミュラの移動 (コピー) 先レンジ
    optionsObject->追加のオプション

    説明

    VP MOVE CELLS コマンドは、originRange の値・書式・フォーミュラを targetRange に移動またはコピーします。

    originRangetargetRange は異なる 4D View Pro エリアを参照することができます。

    originRange には、移動またはコピーする値・書式・フォーミュラが格納されているレンジオブジェクトを渡します。 originRange が結合レンジの場合は、最初のものだけが使用されます。

    targetRange には、値・書式・フォーミュラのコピー先または移動先であるターゲットレンジを渡します。

    options は、複数のプロパティを持ちます:

    プロパティタイプ説明
    copyBooleanoriginRange のセルの値・書式・フォーミュラをコマンド実行後に削除するかどうかを指定します:
    • 削除するには false (デフォルト)。
    • 保持するには true
    pasteOptionsLongintペーストする内容を指定します。 とりうる値:

    説明
    vk clipboard options all (デフォルト)値・フォーマット・フォーミュラを含むすべてのデータオブジェクトをペーストします。
    vk clipboard options formattingフォーマットだけをペーストします。
    vk clipboard options formulasフォーミュラだけをペーストします。
    vk clipboard options formulas and formattingフォーミュラとフォーマットをペーストします。
    vk clipboard options values値だけをペーストします。
    vk clipboard options value and formatting値とフォーマットをペーストします。

    ワークブックオプション で定義されている貼り付けオプションが考慮されます。

    例題

    内容・値・書式・フォーミュラをコピーします:

    var $originRange; $targetRange; $options : Object

    $originRange:=VP Cells("ViewProArea"; 0; 0; 2; 5)

    $targetRange:=VP Cells("ViewProArea"; 4; 0; 2; 5)

    $options:=New object
    $options.copy:=True
    $options.pasteOptions:=vk clipboard options all

    VP MOVE CELLS($originRange; $targetRange; $options)

    参照

    VP Copy to object
    VP PASTE FROM OBJECT
    VP SET WORKBOOK OPTIONS

    N

    VP Name

    VP Name ( vpAreaName : Text ; rangeName : Text { ; sheet : Integer } ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    rangeNameText->既存のレンジ名
    sheetInteger->レンジの場所 (省略時はカレントシート)
    戻り値Object<-rangeName のレンジオブジェクト

    説明

    VP Name コマンドは、命名レンジを参照する新しいレンジオブジェクトを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    rangeName には、既存のセルレンジ名を渡します。

    任意の sheet 引数として、rangeName のレンジが属するスプレッドシートを指定することができます。 省略された場合はデフォルトでカレントスプレッドシートが使用されます。 以下の定数を使用することでカレントのスプレッドシートあるいはワークブック全体を明示的に選択することができます:

    • vk current sheet
    • vk workbook

    例題

    "Total" という名前のレンジに値を渡します:

    // B5 のセルを "Total" と命名します
    VP ADD RANGE NAME(VP Cell("ViewProArea";1;4);"Total")
    $name:=VP Name("ViewProArea";" Total")
    VP SET NUM VALUE($name;285;"$#,###.00")

    参照

    VP ADD RANGE NAME
    VP ALL
    VP Cell
    VP Cells
    VP Column
    VP Combine ranges
    VP Get names
    VP REMOVE NAME
    VP Row

    VP NEW DOCUMENT

    VP NEW DOCUMENT ( vpAreaName : Text )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名

    説明

    VP NEW DOCUMENT コマンドは、vpAreaName で指定した 4D View Pro エリアに、新規のデフォルトドキュメントを読み込んで表示させます。 エリア内に挿入されていたデータがあれば、それらは新規の空ドキュメントによって置換されます。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    例題

    "myVPArea" フォームオブジェクトに空ドキュメントを表示します:

    VP NEW DOCUMENT("myVPArea")

    参照

    VP IMPORT DOCUMENT


    O

    VP Object to font

    VP Object to font ( fontObj : Object ) : Text

    引数タイプ説明
    fontObjObject->フォントオブジェクト
    戻り値Text<-フォントのショートハンド文字列

    説明

    VP Object to font コマンドは、fontObj 引数で指定したフォントオブジェクトからフォントのショートハンド文字列を返します。

    fontObj には、フォントプロパティを格納するオブジェクトを渡します。 以下のプロパティがサポートされています:

    プロパティタイプ説明とりうる値必須
    familytextフォントを指定します。標準の、あるいは一般的なフォントファミリー。 例: "Arial", "Helvetica", "serif", "arial,sans-serif"
    sizetextフォントのサイズを定義します。"font-size/line-height" の形で line-height をfont-size に追加することもできます: 例: "15pt/20pt"以下のいずれかの単位を伴う数値:
  • "em", "ex", "%", "px", "cm", "mm", "in", "pt", "pc", "ch", "rem", "vh", "vw", "vmin", "vmax"
  • あるいは、以下の定数のいずれか 1つ:
  • vk font size large
  • vk font size larger
  • vk font size x large
  • vk font size xx large
  • vk font size small
  • vk font size smaller
  • vk font size x small
  • vk font size xx small
  • styletextフォントのスタイル。
  • vk font style italic
  • vk font style oblique
  • ×
    varianttextスモールキャピタルのフォントを定義します。
  • vk font variant small caps
  • ×
    weighttextフォントの太さを定義します。
  • vk font weight 100
  • vk font weight 200
  • vk font weight 300
  • vk font weight 400
  • vk font weight 500
  • vk font weight 600
  • vk font weight 700
  • vk font weight 800
  • vk font weight 900
  • vk font weight bold
  • vk font weight bolder
  • vk font weight lighter
  • ×

    このオブジェクトは VP Font to object コマンドで作成することができます。

    返されるショートハンド文字列は、たとえば VP SET CELL STYLE を使って、セルの "font" プロパティに割り当てることができます。

    例題

    $cellStyle:=VP Get cell style($range)

    $font:=VP Font to object($cellStyle.font)
    $font.style:=vk font style oblique
    $font.variant:=vk font variant small caps
    $font.weight:=vk font weight bolder

    $cellStyle.font:=VP Object to font($font)
    //$cellStyle.font には "bolder oblique small-caps 16pt arial" が格納されます

    参照

    4D View Pro Style Objects and Style Sheets
    VP Font to object
    VP SET CELL STYLE
    VP SET DEFAULT STYLE

    P

    VP PASTE FROM OBJECT

    履歴
    バージョン内容
    v19 R4追加

    VP PASTE FROM OBJECT ( rangeObj : Object ; dataObject : Object {; options : Longint} )

    引数タイプ説明
    rangeObjObject->セルレンジオブジェクト
    dataObjectObject->ペーストするデータを格納したオブジェクト
    optionsLongint->ペーストする内容を指定します

    説明

    VP PASTE FROM OBJECT コマンドは、dataObject のコンテンツ・スタイル・フォーミュラを rangeObj セルレンジオブジェクトにペーストします。

    rangeObj には、値・フォーマット・フォーミュラをペーストする先のセルレンジオブジェクトを渡します。 rangeObj が複数のセルを参照している場合は、最初のセルだけが使用されます。

    dataObject には、ペーストしたい値・フォーマット・フォーミュラを格納しているオブジェクトを渡します。

    任意の options 引数を渡して、セルレンジにペーストする内容を指定することができます。 とりうる値:

    定数説明
    vk clipboard options all値・フォーマット・フォーミュラを含むすべてのデータオブジェクトをペーストします。
    vk clipboard options formattingフォーマットだけをペーストします。
    vk clipboard options formulasフォーミュラだけをペーストします。
    vk clipboard options formulas and formattingフォーミュラとフォーマットをペーストします。
    vk clipboard options values値だけをペーストします。
    vk clipboard options value and formatting値とフォーマットをペーストします。

    ワークブックオプション で定義されている貼り付けオプションが考慮されます。

    dataObject に存在しない要素を options で指定した場合 (例: フォーミュラ) コマンドはなにもしません。

    例題

    VP Copy to object の例題を参照ください。

    参照

    VP Copy to object
    VP MOVE CELLS
    VP Get workbook options
    VP SET WORKBOOK OPTIONS

    VP PRINT

    VP PRINT ( vpAreaName : Text { ; sheet : Integer } )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP PRINT コマンドは、vpAreaName 引数で指定したエリアを印刷する印刷ダイアログウィンドウを開きます。

    vpAreaName には、印刷する 4D View Pro エリアの名前を渡します。 コマンドによって、システムの印刷ダイアログウィンドウが開かれ、プリンターを指定したりページプロパティを定義したりすることができます。

    印刷ダイアログウィンドウで定義されるプロパティはプリンター用紙のためのもので、4D View Pro エリアの印刷プロパティではありません。 4D View Pro エリアの印刷プロパティは VP SET PRINT INFO コマンドで定義されます。 プリンターと 4D View Pro エリアの両プロパティが合致することが強く推奨されます。 そうでない場合、ドキュメントが期待通りに印刷されない可能性があります。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、印刷するスプレッドシートを指定することができます。 省略された場合はデフォルトでカレントシートが使用されます。 以下の定数を使用することでカレントのスプレッドシートあるいはワークブック全体を明示的に選択することができます:

    • vk current sheet
    • vk workbook
    • 4D View Pro エリアは、VP PRINT コマンドによってのみ印刷可能です。
    • 4Dコマンドの 印刷 テーマのコマンドは、VP PRINT ではサポートされません。
    • このコマンドは、最終的なエンドユーザーが個別に印刷を実行することを想定しています。 自動化印刷ジョブについては、VP EXPORT DOCUMENT コマンドで 4D View Pro エリアを PDF に書き出すことが推奨されます。

    例題

    以下のコードは:

     VP PRINT("myVPArea")

    ... 印刷ダイアログウィンドウを開きます:

    参照

    VP EXPORT DOCUMENT
    VP SET PRINT INFO

    R

    VP RECOMPUTE FORMULAS

    VP RECOMPUTE FORMULAS ( vpAreaName : Text )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名

    説明

    VP RECOMPUTE FORMULAS コマンドは、vpAreaName 引数で指定したエリアの全フォーミュラを即座に評価します。 デフォルトでは、4D はフォーミュラを挿入時、読み込み時、そして書き出し時のタイミングで自動計算します。 VP RECOMPUTE FORMULAS コマンドを使用すると、任意のタイミングで強制的に計算を実行することができます(例: フォーミュラに変更が加えられた場合、またはフォーミュラがデータベースへの呼び出しを格納している場合など)。 コマンドは VP FLUSH COMMANDS コマンドを実行することで、実行保留されていたコマンドをすべて実行し、コマンドバッファをクリアします。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    VP RECOMPUTE FORMULAS コマンドを使用する前に VP SUSPEND COMPUTINGコマンドが実行されていないようにしてください。

    例題

    ワークブック内の全フォーミュラを更新します:

    VP RECOMPUTE FORMULAS("ViewProArea")

    参照

    VP RESUME COMPUTING
    VP SUSPEND COMPUTING

    VP REMOVE NAME

    VP REMOVE NAME ( vpAreaName : Text ; name : Text { ; sheet : Integer } )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    nameText->削除する命名レンジまたは命名フォーミュラの名前
    scopeInteger->ターゲットのスコープ (デフォルト=カレントシート)

    説明

    VP REMOVE NAME コマンドは、name の命名レンジまたは命名フォーミュラを、定義された scope のスコープから削除します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    name には、削除したい命名レンジあるいは命名フォーミュラの名前を渡します。

    scope 引数を使用することで、命名レンジまたは命名フォーミュラをどこから削除するのか、指定することができます。その際、シートのインデックス (0 起点) を渡すか、以下の定数のいずれかを渡します:

    • vk current sheet
    • vk workbook

    例題

    $range:=VP Cell("ViewProArea";0;0)
    VP ADD RANGE NAME("Total1";$range)

    VP REMOVE NAME("ViewProArea";"Total1")
    $formula:=VP Get formula by name("ViewProArea";"Total1")
    // $formula=null

    参照

    VP Name

    VP REMOVE SHEET

    VP REMOVE SHEET ( vpAreaName : Text ; index: Integer )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    indexInteger->削除するシートのインデックス

    参照

    VP ADD SHEET

    説明

    VP REMOVE SHEET コマンドは、vpAreaName 引数で指定したエリアにロードされているドキュメントから、index 引数で指定したインデックスのシートを削除します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    index 引数には、削除したいシートのインデックスを渡します。 index 引数に渡したインデックスが存在しない場合、このコマンドは何もしません。

    インデックスは 0 起点です。

    例題

    ドキュメントには現在 3つのシートがあります:

    3つ目のシートを削除します:

    VP REMOVE SHEET("ViewProArea";2)

    VP REMOVE SPAN

    VP REMOVE SPAN ( rangeObj : Object )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト

    説明

    VP REMOVE SPAN コマンドは、rangeObj で指定したレンジ内のセル結合を解除します。

    rangeObj には、セル結合しているレンジのオブジェクトを渡します。 レンジ内の結合セルは個別セルに分割されます。

    例題

    ドキュメントのセル結合をすべて解除します:

     // すべてのセル結合を探します
    $span:=VP Get spans(VP All("ViewProArea"))


    // すべてのセル結合を解除します
    VP REMOVE SPAN($span)

    結果:

    参照

    VP ADD SPAN
    VP Get spans

    VP REMOVE STYLESHEET

    VP REMOVE STYLESHEET ( vpAreaName : Text ; styleName : Text { ; sheet : Integer } )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    styleNameText->削除するスタイルの名前
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP REMOVE STYLESHEET コマンドは、vpAreaName 引数で指定したエリアから、styleName で指定したスタイルシートを削除します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    styleName 引数には、削除するスタイルシートの名前を渡します。

    任意の sheet 引数を使用することで、スタイルシートをどこから削除するかを指定することができます。シートインデックス (0 起点) か、以下の定数のいずれかを渡すことができます:

    • vk current sheet
    • vk workbook

    例題

    カレントシートから、GreenDashDotStyle スタイルオブジェクトを削除します:

    VP REMOVE STYLESHEET("ViewProArea";"GreenDashDotStyle")

    参照

    VP ADD STYLESHEET
    VP Get stylesheet
    VP Get stylesheets

    VP REMOVE TABLE

    履歴
    バージョン内容
    v19 R6追加

    VP REMOVE TABLE ( vpAreaName : Object; tableName : Text {; options : Integer} {; sheet : Integer}} )

    引数タイプ説明
    vpAreaNameText->4D View Pro エリア名
    tableNameText->削除する表組みの名称
    optionsInteger->追加のオプション
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP REMOVE TABLE コマンドは、表組みを削除します (VP CREATE TABLE で作成した表組み)。

    vpAreaName には、削除したい表組みが置かれている 4D View Pro エリアの名前を渡します。

    tableName には、削除する表組みの名称を渡します。

    options には、追加のオプションを指定できます。 とりうる値:

    定数説明
    vk table remove all0スタイルとデータを含むすべてを削除
    vk table remove style1スタイルを削除し、データは保持
    vk table remove data2データを削除し、スタイルは維持

    表組み名はシートのレベルで定義されます。 任意の sheet 引数にシートインデックス (0 起点) を指定することで、表が置かれているシートを指定できます。

    例題

    2番目のシートの "people" の表組みを削除し、セルのデータは保持します:

    VP REMOVE TABLE("ViewProArea"; "people"; vk table remove style; 2)

    参照

    VP CREATE TABLE

    VP REMOVE TABLE COLUMNS

    履歴
    バージョン内容
    v19 R7追加

    VP REMOVE TABLE COLUMNS ( vpAreaName : Text ; tableName : Text ; column : Integer {; count : Integer {; sheet : Integer }}} )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    tableNameText->表組みの名称
    columnInteger->列の削除の開始場所を指定する表組み内のインデックス
    countText->削除する列の数 (>0)
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP REMOVE TABLE COLUMNS コマンドは、tableName で指定した表組みの column で指定した列インデックスから、1つまたは count で指定した数の列を削除します。 このコマンドは、値とスタイルを削除します。

    このコマンドは、シートではなく、tableName の表組みから列を削除します。 したがって、シートの総列数は、このコマンドの影響を受けません。 表組みより右側にデータがある場合は、削除された列の数に応じて自動的に左に移動します。

    tableName の表組みが存在しない場合には、何も起こりません。

    例題

    "dataTable" 表組みの 3列目から 2列を削除します:

    VP REMOVE TABLE COLUMNS("ViewProArea"; "dataTable"; 3; 2)

    参照

    VP INSERT TABLE COLUMNS
    VP REMOVE TABLE ROWS

    VP REMOVE TABLE ROWS

    履歴
    バージョン内容
    v19 R7追加

    VP REMOVE TABLE ROWS ( vpAreaName : Text ; tableName : Text ; row : Integer {; count : Integer {; sheet : Integer }}} )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    tableNameText->表組みの名称
    rowInteger->行の削除の開始場所を指定する表組み内のインデックス
    countText->削除する行の数 (>0)
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP REMOVE TABLE ROWS コマンドは、tableName で指定した表組みの row で指定した行インデックスから、1つまたは count で指定した数の行を削除します。 このコマンドは、値とスタイルを削除します。

    このコマンドは、シートではなく、tableName の表組みから行を削除します。 したがって、シートの総行数は、このコマンドの影響を受けません。 表組みより下側にデータがある場合は、削除された行の数に応じて自動的に上に移動します。

    tableName の表組みが データコンテキスト にバインドされている場合、このコマンドはコレクションから要素を削除します。

    tableName の表組みが存在しない場合には、何も起こりません。

    例題

    "dataTable" 表組みの 3行目から 2行を削除します:

    VP REMOVE TABLE ROWS("ViewProArea"; "dataTable"; 3; 2)

    参照

    VP INSERT TABLE ROWS
    VP REMOVE TABLE COLUMNS

    VP RESET SELECTION

    VP RESET SELECTION ( vpAreaName : Text { ; sheet : Integer } )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP RESET SELECTION コマンドは、すべてのセル選択を解除し、その結果カレントセレクション (またはアクティブセル) がなくなります。

    4D View Pro コマンドに対して定義されているデフォルトのアクティブセル (A1 セル) は残ります。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、定義されるレンジが属するスプレッドシートを指定することができます。 省略された場合はデフォルトでカレントスプレッドシートが使用されます。 以下の定数を使用することでカレントのスプレッドシートを明示的に選択することができます:

    • vk current sheet

    例題

    セル選択 (アクティブセルと選択セル) をすべて解除します:

    VP RESET SELECTION("myVPArea")

    参照

    VP ADD SELECTION
    VP Get active cell
    VP Get selection
    VP SET ACTIVE CELL
    VP SET SELECTION
    VP SHOW CELL

    VP RESIZE TABLE

    履歴
    バージョン内容
    v19 R7追加

    VP RESIZE TABLE ( rangeObj : Object; tableName : Text )

    引数タイプ説明
    rangeObjObject->表組みの新しいレンジ
    tableNameText->テーブル名

    説明

    VP RESIZE TABLE コマンドは、rangeObj で指定したレンジの大きさに tableName で指定した表組みをリサイズします。

    次のルールが適用されます:

    • ヘッダーは同じ行のまま残り、結果の表範囲は元の表範囲と重なっている必要があります。
    • リサイズされた表組みの行数がリサイズ前より少ない場合、切り取られた行や列内の値は、それらが データコンテキスト にバインドされていなければ保持され、そうでなければ削除されます。
    • 表組みを拡張した先にデータを含むセルが存在する場合には:
      • 行が追加された場合、データは削除されます。
      • 列が追加された場合、データは保持され、新しい列に表示されます。

    tableName の表組みが存在しない場合には、何も起こりません。

    例題

    データコンテキストを使用した表組みを作成します:

    var $context : Object
    $context:=New object()

    $context.col:=New collection
    $context.col.push(New object("name"; "Smith"; "salary"; 10000))
    $context.col.push(New object("name"; "Wesson"; "salary"; 50000))
    $context.col.push(New object("name"; "Gross"; "salary"; 10500))

    VP SET DATA CONTEXT("ViewProArea"; $context)

    VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; 3; 3); "PeopleTable"; "col")

    表組みの前後に 1列ずつと、空行を 2行を追加します。 以下のように書くことができます:

    VP RESIZE TABLE(VP Cells("ViewProArea"; 0; 1; 4; 6); "PeopleTable")

    参照

    VP CREATE TABLE
    VP Get table range

    VP RESUME COMPUTING

    VP RESUME COMPUTING ( vpAreaName : Text )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名

    説明

    VP RESUME COMPUTING コマンドは、 vpAreaName 引数で指定したエリア内の計算を再開します。

    このコマンドは 4D View Pro 内の計算機能を再開します。 計算停止中におこなった編集に影響されたフォーミュラは更新され、VP RESUME COMPUTING 実行後に追加されるフォーミュラは計算されます。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    4D View Pro 計算機能は停止/再開アクションを内部的にカウントしています。 そのため、VP RESUME COMPUTING コマンドの実行数は、VP SUSPEND COMPUTING コマンドの実行数と釣り合っていなければなりません。

    例題

    VP SUSPEND COMPUTING の例題を参照ください。

    参照

    VP RECOMPUTE FORMULAS
    VP SUSPEND COMPUTING

    VP Row

    VP Row ( vpAreaName : Text; row : Integer { ; rowCount : Integer { ; sheet : Integer } } ) : Object

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    rowInteger->行のインデックス
    rowCountInteger->行数

    __

    説明

    VP Row コマンドは、特定の行、あるいは複数の行を参照する新しいレンジオブジェクトを返します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    row 引数で、セルレンジの先頭行を指定します。 この引数として行のインデックス (0 起点) を渡します。 レンジが複数行にわたる場合には、任意の rowCount 引数も併せて使用します。

    任意の rowCount には、レンジに含まれる行数を指定することができます。 rowCount 引数は 0 より大きい値でなくてはなりません。 省略時、デフォルトで値は 1 に設定されます。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、定義されるレンジが属するスプレッドシートを指定することができます。 省略された場合はデフォルトでカレントスプレッドシートが使用されます。 以下の定数を使用することでカレントのスプレッドシートを明示的に選択することができます:

    • vk current sheet

    例題

    以下に表示されている (カレントスプレッドシートの) 行に対するレンジオブジェクトを定義します:

    以下のように書くことができます:

    $row:=VP Row("ViewProArea";9) // 10行目

    参照

    VP All
    VP Cell
    VP Cells
    VP Column
    VP Combine ranges
    VP Name

    VP ROW AUTOFIT

    VP ROW AUTOFIT ( rangeObj : Object)

    引数タイプ説明
    rangeObjObject->レンジオブジェクト

    説明

    VP ROW AUTOFIT コマンドは、rangeObj 引数のレンジ内にある行を、そのコンテンツに応じて自動的にリサイズします。

    rangeObj 引数として、サイズを自動調整したい行を格納しているレンジオブジェクトを渡します。

    例題

    以下の行では、テキストを正しく表示できていません:

     VP ROW AUTOFIT(VP Row("ViewProArea";1;2))

    結果:

    参照

    VP Column autofit

    VP Run offscreen area

    VP Run offscreen area ( parameters : Object) : Mixed

    引数タイプ説明
    parametersObject->オフスクリーンエリアの属性を格納するオブジェクト
    戻り値Mixed<-.onEvent オブジェクトの .result プロパティ、または値を返さない場合には Null

    説明

    VP Run offscreen area コマンドは、メモリ内にオフスクリーンエリアを作成し、これを利用して 4D View Pro エリアのコマンドやファンクションを処理することができます。

    parameters オブジェクトには、以下の任意のプロパティのいずれかを渡します。 これらのプロパティは onEvent コールバックメソッド内において This コマンドを介して利用可能であり、そのインスタンスを参照することができます:

    プロパティタイプ説明
    areatextオフスクリーンエリアの名前。 省略時あるいは null の場合、一般的な名前 (例: "OffscreenArea1") が割り当てられます。
    onEventobject (フォーミュラ)オフスクリーンエリアの準備ができたときに実行されるコールバックメソッド。 以下のいずれかを渡すことができます:
  • クラスの onEvent 関数
  • Formula オブジェクト
  • デフォルトでは、コールバックメソッドは、On VP Ready, On Load, On Unload, On End URL Loading, On URL Loading Error, On VP Range Changed, または On Timer イベントで呼び出されます。 コールバックメソッドを使用して 4D View Pro フォームオブジェクト変数 にアクセスすることができます。
    autoQuitbooleanTrue (デフォルト値) の場合、On End URL Loading または On URL Loading Error イベントが起きた際にはコマンドがフォーミュラの実行を中止します。 False の場合、onEvent コールバックメソッド内で CANCEL あるいは ACCEPT コマンドを使用する必要があります。
    timeoutnumberイベントが何も生成されない場合にエリアが自動的に閉まるまでの最大時間 (秒単位)。 0 に設定した場合、エリアは自動的には閉まりません。 デフォルト値: 60
    resultmixed処理の結果 (あれば)
    <customProperty>mixedonEvent コールバックメソッドで利用可能なカスタムの属性。

    以下のプロパティは、必要に応じてコマンドによって自動的に追加されます:

    プロパティタイプ説明
    timeoutReachedbooleanタイムアウトを超えた場合に true の値で追加されます

    オフスクリーンエリアは、VP Run offscreen area コマンドの実行中にしか利用できません。 実行が終わるとエリアは自動的に消去されます。

    コールバックメソッドでは、以下のコマンドを使用することができます:

    • ACCEPT
    • CANCEL
    • SET TIMER
    • WA Evaluate JavaScript
    • WA EXECUTE JAVASCRIPT FUNCTION

    例題 1

    オフスクリーンの 4D View Pro エリアを作成し、そこからセルの値を取得します:

    // cs.OffscreenArea クラス宣言 
    Class constructor ($path : Text)
    This.filePath:=$path

    // この関数はオフスクリーンエリアの各イベントごとに呼び出されます
    Function onEvent()
    Case of
    :(FORM Event.code=On VP Ready)
    VP IMPORT DOCUMENT(This.area;This.filePath)
    This.result:=VP Get value(VP Cell(This.area;6;22))

    ALERT("The G23 cell contains the value: "+String(This.result))
    End case

    OffscreenArea コールバックメソッドの内容は以下の通りです:

    $o:=cs.OffscreenArea.new()
    $result:=VP Run offscreen area($o)

    例題 2

    大きなドキュメントをオフスクリーンで読み込み、計算の評価が完了するのを待ってドキュメントを PDF として書き出します:

    // cs.OffscreenArea クラス宣言
    Class constructor($pdfPath : Text)
    This.pdfPath:=$pdfPath
    This.autoQuit:=False
    This.isWaiting:=False

    Function onEvent()
    Case of
    :(FORM Event.code=On VP Ready)
    // ドキュメントの読み込み
    VP IMPORT DOCUMENT(This.area;$largeDocument4VP)
    This.isWaiting:=True

    // 計算が完了したかを検証するタイマーをスタートさせます
    // この間に "On VP Range Changed" イベントが発生した場合、タイマーはリスタートされます
    // 時間はコンピューターの設定に応じて定義されなければなりません
    SET TIMER(60)

    :(FORM Event.code=On VP Range Changed)
    // 計算の完了を検知し、 タイマーを再スタートさせます
    If(This.isWaiting)
    SET TIMER(60)
    End if

    :(FORM Event.code=On Timer)
    // この時点以降、他の 4D View コマンドを呼び出してもタイマーが再スタートしないようにします
    This.isWaiting:=False



    // タイマーを停止します
    SET TIMER(0)

    // PDF 書き出しを開始します
    VP EXPORT DOCUMENT(This.area;This.pdfPath;New object("formula";Formula(ACCEPT)))

    :(FORM Event.code=On URL Loading Error)

    CANCEL
    End case

    OffscreenArea コールバックメソッドの内容は以下の通りです:

    $o:=cs.OffscreenArea.new()

    $result:=VP Run offscreen area($o)

    参照

    ブログ記事 (英文): End of document loading

    S

    VP SET ACTIVE CELL

    VP SET ACTIVE CELL ( rangeObj : Object)

    引数タイプ説明
    rangeObjObject->レンジオブジェクト

    説明

    VP SET ACTIVE CELL コマンドは、指定したセルをアクティブセルにします。

    rangeObj 引数には、単独のセルを格納するレンジオブジェクトを渡します (VP Cell 参照)。 rangeObj 引数のレンジが単独セルのレンジでない場合、あるいは複数レンジを指定している場合、最初のレンジの先頭セルが使用されます。

    例題

    カラム D、行 5 のセルをアクティブセルに設定します:

    $activeCell:=VP Cell("myVPArea";3;4)
    VP SET ACTIVE CELL($activeCell)

    参照

    VP ADD SELECTION
    VP Get active cell
    VP Get selection
    VP RESET SELECTION
    VP SET SELECTION
    VP SHOW CELL

    VP SET ALLOWED METHODS

    VP SET ALLOWED METHODS ( methodObj : Object)

    引数タイプ説明
    methodObjObject->4D View Pro エリアでの実行を許可するメソッド

    互換性

    より高い柔軟性のため、4D View Pro エリアから呼び出せる 4Dフォーミュラを指定できる VP SET CUSTOM FUNCTIONS コマンドの使用が推奨されます。 VP SET CUSTOM FUNCTIONS が呼び出された場合、VP SET ALLOWED METHODS の呼び出しは無視されます。 VP SET CUSTOM FUNCTIONSVP SET ALLOWED METHODS のどちらも呼び出されていない場合、4D View Pro は 4D の汎用コマンド SET ALLOWED METHODS もサポートしますが、汎用コマンドの使用は推奨されません。

    説明

    VP SET ALLOWED METHODS コマンドは、4D View Pro フォーミュラから呼び出し可能なプロジェクトメソッドを指定します。 このコマンドは、呼び出し後のセッション中に初期化される 4D View Pro エリアすべてに対して適用されます。 同じセッション中において異なる設定で初期化をするために、複数回呼び出すこともできます。

    セキュリティ上の理由により、 VP SET ALLOWED METHODS コマンドを実行していない場合のデフォルトでは、4D View Pro エリアにおいてはメソッドの呼び出しは許可されません (ただし、4D の汎用的な SET ALLOWED METHODS コマンドが呼び出されていた場合を除きます (前述の互換性に関する注記参照)。 許可されていないのメソッドをフォーミュラ内で使用した場合には、4D View Pro エリアに #NAME? エラーが表示されます。

    methodObj には、4D View Pro エリア内で定義したいファンクションの名前をプロパティとして格納しているオブジェクトを渡します:

    プロパティタイプ説明
    <functionName>Objectカスタムファンクションの名前。 <functionName> プロパティ名は、4D View Pro フォーミュラで表示するカスタムファンクションの名前を定義します (スペースは使用できません)
    methodText(必須) 許可する既存の 4D プロジェクトメソッドの名前
    parametersObject の Collection引数のコレクション (メソッド内で定義されている順)
    [ ].nameText<functionName> 用に表示する引数の名前。: 引数の名前にスペースを含めることはできません。
    [ ].typeNumber引数の型。 サポートされている型:
  • Is Boolean
  • Is date
  • Is Integer
  • Is object
  • Is real
  • Is text
  • Is time
  • 省略時のデフォルトでは、値は型と一緒に渡されますが、日付と時間の値に関してはオブジェクトとして送られます (引数 の章を参照ください)。 type が Is object の場合、そのオブジェクトは VP Get value によって返されるオブジェクトと同じ構造を持ちます。
    summaryText4D View Pro に表示するファンクションの説明
    minParamsNumber引数の最小の数
    maxParamsNumber引数の最大の数。 ここに parameters の length より大きな値を渡すことによって、デフォルトの型を持つ "任意の" 引数を宣言することができるようになります。

    例題

    4D View Pro エリアにおいて、2つのメソッドを許可します:

    C_OBJECT($allowed)
    $allowed:=New object // コマンドに渡す引数

    $allowed.Hello:=New object // "Hello" という名前の 1つ目の簡単なファンクションを作成します
    $allowed.Hello.method:="My_Hello_Method" // 4Dメソッドを設定します
    $allowed.Hello.summary:="Hello prints hello world"

    $allowed.Byebye:=New object // "Byebye" という名前の、引数を受け付ける 2つ目のファンクションを作成
    $allowed.Byebye.method:="My_ByeBye_Method"
    $allowed.Byebye.parameters:=New collection
    $allowed.Byebye.parameters.push(New object("name";"Message";"type";Is text))
    $allowed.Byebye.parameters.push(New object("name";"Date";"type";Is date))
    $allowed.Byebye.parameters.push(New object("name";"Time";"type";Is time))
    $allowed.Byebye.summary:="Byebye prints a custom timestamp"
    $allowed.Byebye.minParams:=3
    $allowed.Byebye.maxParams:=3

    VP SET ALLOWED METHODS($allowed)

    このコードが実行されたあと、定義されたファンクションは 4D View Pro フォーミュラで使用することができるようになります:

    インデックスは 0 起点です。

    参照

    4D functions
    VP SET CUSTOM FUNCTIONS

    VP SET BINDING PATH

    履歴
    バージョン内容
    v19 R5追加

    VP SET BINDING PATH ( rangeObj : Object ; dataContextAttribute : Text)

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    dataContextAttributeText->rangeObj にバインドする属性の名称

    説明

    VP SET BINDING PATH コマンドは、rangeObj で指定したレンジに、シートのデータコンテキストの属性をバインドします。 機能するには、SET DATA CONTEXT を使ってデータコンテキストを設定する必要があります。 読み込まれたデータコンテキストが属性を含む場合、dataContextAttribute の値が rangeObj のセルに自動的に表示されます。

    rangeObj 引数には、セルレンジまたは複合セルレンジのオブジェクトを渡します。

    • rangeObj 引数には、セルレンジまたは複合セルレンジのオブジェクトを渡します。
    • rangeObj のレンジが複数セルを含む場合、コマンドは最初のセルに属性をバインドします。

    dataContextAttribute には、rangeObj にバインドする属性の名称を渡します。 dataContextAttribute が空の文字列だった場合、関数は属性のバインドを解除します。

    コレクション型の属性はサポートされていません。 コレクション属性の名前を渡した場合、コマンドは何もしません。

    例題

    データコンテキストを設定し、firstNamelastName の属性をセルにバインドします:

    var $p : Object

    $p:=New object
    $p.firstName:="Freehafer"
    $p.lastName:="Nancy"

    VP SET DATA CONTEXT("ViewProArea"; $p)

    VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 0); "firstName")
    VP SET BINDING PATH(VP Cell("ViewProArea"; 1; 0); "lastName")

    参照

    VP Get binding path
    VP Get data context
    VP SET DATA CONTEXT

    VP SET BOOLEAN VALUE

    VP SET BOOLEAN VALUE ( rangeObj : Object ; boolValue : Boolean)

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    boolValueBoolean->設定するブール値

    説明

    VP SET BOOLEAN VALUE コマンドは、指定のセルレンジにブール値を割り当てます。

    rangeObj には、値を割り当てたいセルのレンジ (たとえば VP Cell あるいは VP Column で作成されたレンジ) を渡します。 rangeObj 引数に複数のセルが含まれる場合、指定された値はそれぞれのセルに対して繰り返し割り当てられます。

    boolValue 引数には、rangeObj のセルレンジに割り当てるブール値 (true あるいは false) を渡します。

    例題

    // セルの値を false に設定
    VP SET BOOLEAN VALUE(VP Cell("ViewProArea";3;2);False)

    参照

    VP SET VALUE

    VP SET BORDER

    VP SET BORDER ( rangeObj : Object ; borderStyleObj : Object ; borderPosObj : Object )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    borderStyleObjObject->境界線スタイルを格納したオブジェクト
    borderPosObjObject->境界線の位置を格納したオブジェクト

    説明

    VP SET BORDER コマンドは、rangeObj のレンジに borderStyleObj および borderPosObj で定義される境界線スタイルを適用します。

    rangeObj 引数には、境界線スタイルを適用したいセルのレンジを渡します。 rangeObj 引数に複数のセルが含まれる場合、VP SET BORDER で適用される境界線は、rangeObj のレンジ全体を一つのセルとして適用されます (これに対し、VP SET CELL STYLE コマンドではrangeObj 引数のレンジに含まれる個々のセルに対し境界線が適用されます)。 スタイルシートがすでに適用されている場合、VP SET BORDER コマンドは rangeObj のレンジに対してすでに適用されていた境界線設定を上書きします。

    borderStyleObj 引数を使用すると、境界線のスタイルを定義することができます。 borderStyleObj 引数は、以下のプロパティをサポートしています:

    プロパティタイプ説明とりうる値
    colortext境界線のカラーを定義します。 デフォルト = blackCSSカラー "#rrggbb" シンタックス (推奨シンタックス)、CSSカラー "rgb(r,g,b)" シンタックス (代替シンタックス)、CSSカラーネーム (代替シンタックス)
    styleInteger境界線のスタイルを定義します。 デフォルト = empty。
  • vk line style dash dot
  • vk line style dash dot dot
  • vk line style dashed
  • vk line style dotted
  • vk line style double
  • vk line style empty
  • vk line style hair
  • vk line style medium
  • vk line style medium dash dot
  • vk line style medium dash dot dot
  • vk line style medium dashed
  • vk line style slanted dash dot
  • vk line style thick
  • vk line style thin
  • borderStyleObj の境界線スタイルの位置 (どこに境界線を引くか) は borderPosObj 引数で定義します:

    プロパティタイプ説明
    allboolean境界線スタイルはすべての境界に適用されます。
    leftboolean境界線スタイルは左の境界に適用されます。
    topboolean境界線スタイルは上の境界に適用されます。
    rightboolean境界線スタイルは右の境界に適用されます。
    bottomboolean境界線スタイルは下の境界に適用されます。
    outlineboolean境界線スタイルは外側の境界にのみ適用されます。
    insideboolean境界線スタイルは内側の境界にのみ適用されます。
    innerHorizontalboolean境界線スタイルは内側の横の境界にのみ適用されます。
    innerVerticalboolean境界線スタイルは内側の縦の境界にのみ適用されます。

    例題 1

    以下のコードは、レンジ全体の外周に境界線を生成します:

    $border:=New object("color";"red";"style";vk line style thick)
    $option:=New object("outline";True)
    VP SET BORDER(VP Cells("ViewProArea";1;1;3;3);$border;$option)

    例題 2

    以下のコードは、VP SET BORDERVP SET CELL STYLE で境界線を設定した場合の違いを示します:

    // VP SET BORDER で境界線を設定します
    $border:=New object("color";"red";"style";vk line style thick)
    $option:=New object("outline";True)
    VP SET BORDER(VP Cells("ViewProArea";1;1;3;3);$border;$option)

    // VP SET CELL STYLE を使用して境界線を設定します
    $cellStyle:=New object
    $cellStyle.borderBottom:=New object("color";"blue";"style";vk line style thick)
    $cellStyle.borderRight:=New object("color";"blue";"style";vk line style thick)
    VP SET CELL STYLE(VP Cells("ViewProArea";4;4;3;3);$cellStyle)

    参照

    VP SET CELL STYLE

    VP SET CELL STYLE

    VP SET CELL STYLE ( rangeObj : Object ; styleObj : Object)

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    styleObjObject->スタイルオブジェクト

    説明

    VP SET CELL STYLE コマンドは、styleObj に定義されているスタイルを、rangeObj で定義されたセルに適用します。

    rangeObj 引数には、スタイルを適用したいセルのレンジを渡します。 rangeObj に複数のセルが含まれる場合、スタイルはそれぞれのセルに割り当てられます。

    VP SET CELL STYLE で適用された境界線は、rangeObj の各セルに対して適用されます。これに対して VP SET BORDER コマンドは境界線を rangeObj のレンジ全体に対して適用されます。

    styleObj にはスタイル設定を格納したオブジェクトを渡します。 既存のスタイルシートを使用することもできますし、新しいスタイルを作成することも可能です。 styleObj に既存のスタイルシートと、追加のスタイル設定の両方が格納されている場合、既存のスタイルシートが先に適用され、そのあとに追加の設定が適用されます。

    スタイルを削除してデフォルトのスタイル設定 (あれば) に戻すには、NULL値を渡します:

    • styleObj 引数として NULL値を渡した場合、rangeObj のレンジのスタイルシートはすべて削除されます。
    • 属性に NULL値を指定すると、当該属性は rangeObj から削除されます。

    スタイルオブジェクトとスタイルシートの詳細については、スタイルオブジェクト を参照ください。

    例題

    $style:=New object
    $style.font:="8pt Arial"
    $style.backColor:="Azure"
    $style.foreColor:="red"
    $style.hAlign:=1
    $style.isVerticalText:=True
    $style.borderBottom:=New object("color";"#800080";"style";vk line style thick)
    $style.backgroundImage:=Null // 特定の属性を削除します

    VP SET CELL STYLE(VP Cell("ViewProArea";1;1);$style)

    参照

    VP ADD STYLESHEET
    VP Font to object
    VP Get cell style
    VP Object to font
    VP SET BORDER
    VP SET DEFAULT STYLE

    VP SET COLUMN ATTRIBUTES

    VP SET COLUMN ATTRIBUTES ( rangeObj : Object ; propertyObj : Object)

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    propertyObjObject->カラムプロパティを格納したオブジェクト

    説明

    VP SET COLUMN ATTRIBUTES コマンドは、 rangeObj 引数で指定したカラムに対して propertyObj 引数で定義されている属性を適用します。

    rangeObj 引数には、レンジオブジェクトを渡します。 レンジにカラムと行の両方が格納されている場合、属性はカラムに対してのみ適用されます。

    propertyObj 引数は、rangeObj 引数のレンジ内のカラムに対して適用する属性を指定します。 指定できる属性は以下の通りです:

    プロパティタイプ説明
    widthnumberカラムの幅 (ピクセル単位)
    pageBreakbooleanレンジ内の先頭カラムの前に改ページを挿入する場合には true、それ以外は false
    visiblebooleanカラムが表示状態であれば true、それ以外は false
    resizablebooleanカラムがリサイズ可能であれば true、それ以外は false
    headertextカラムヘッダーのテキスト

    例題

    2列目のカラムの幅を変更して、ヘッダーを設定します:

    C_OBJECT($column;$properties)

    $column:=VP Column("ViewProArea";1) // カラムB を取得
    $properties:=New object("width";100;"header";"Hello World")

    VP SET COLUMN ATTRIBUTES($column;$properties)

    参照

    VP Column
    VP Get column attributes
    VP Get row attributes
    VP SET ROW ATTRIBUTES

    VP SET COLUMN COUNT

    VP SET COLUMN COUNT ( vpAreaName : Text , columnCount : Integer { , sheet : Integer } )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    columnCountInteger->カラム数
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP SET COLUMN COUNT コマンドは、vpAreaName 引数内にあるカラムの総数を定義します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    columnCount には、カラムの総数を渡します。 columnCount 引数は 0 より大きい値でなくてはなりません。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、columnCount が適用されるスプレッドシートを指定することができます。 省略された場合はデフォルトでカレントスプレッドシートが使用されます。 以下の定数を使用することでカレントのスプレッドシートを明示的に選択することができます:

    • vk current sheet

    例題

    以下のコードは 4D View Pro エリア内に 5つのカラムを定義します:

    VP SET COLUMN COUNT("ViewProArea";5)

    参照

    VP Get column count
    VP Get row count
    VP SET ROW COUNT

    VP SET CURRENT SHEET

    VP SET CURRENT SHEET ( vpAreaName : Text ; sheet : Integer)

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    sheetInteger<-新しいカレントシートのインデックス

    説明

    VP SET CURRENT SHEET コマンドは、vpAreaName 引数で指定した View Pro エリアのカレントシートを設定します 。 カレントシートとは、ドキュメント内で選択されているシートのことです。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    sheet 引数には、カレントシートに設定したいシートのインデックスを渡します。 index 引数が 0未満の場合、またはシートの総数より多い場合、コマンドは何もしません。

    インデックスは 0 起点です。

    例題

    ドキュメントの最初のシートがカレントシートになっています:

    first-sheet-selected

    カレントシートを第3シートに設定します:

    VP SET CURRENT SHEET("ViewProArea";2)

    参照

    VP Get current sheet

    VP SET CUSTOM FUNCTIONS

    VP SET CUSTOM FUNCTIONS ( vpAreaName : Text ; formulaObj : Object )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    formulaObjObject->フォーミュラオブジェクト

    説明

    VP SET CUSTOM FUNCTIONS コマンドは、4D View Pro フォーミュラから直接呼び出し可能な 4Dフォーミュラを指定します。 カスタムのファンクションはドキュメント内に保存されていないので、VP SET CUSTOM FUNCTIONSOn Load フォームイベント内で呼び出される必要があります。

    VP SET CUSTOM FUNCTIONS で指定されたフォーミュラは、最初の文字が入力されるとポップアップメニューに表示されます。 詳細については 式と関数 を参照ください。

    VP SET CUSTOM FUNCTIONS が同一セッション中に同じエリアに対して複数回呼び出された場合、最後の呼び出しのみが有効になります。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    formulaObj 引数として、4D View Pro フォーミュラから呼び出し可能な 4Dフォーミュラと、その追加のプロパティを格納したオブジェクトを渡します。 formulaObj 引数の各 customFunction プロパティが 4D View Pro エリア内でのファンクション名になります。

    プロパティタイプ説明
    <customFunction>Objectカスタムファンクションの名前。 <customFunction> は、4D View Pro フォーミュラで表示するカスタムファンクションの名前を定義します (スペースは使用できません)
    formulaObject4Dフォーミュラオブジェクト (必須)。 Formula コマンド参照。
    parametersObject の Collection引数のコレクション (フォーミュラ内で定義されている順)
    [ ].nameText4D View Pro に表示する引数の名前。
    [ ].typeNumber引数の型。 サポートされている型:
  • Is Boolean
  • Is date
  • Is Integer
  • Is object
  • Is real
  • Is text
  • Is time
  • type 省略時、またはデフォルト値 (-1) が渡された場合、値は型と一緒に渡されますが、日付と時間の値に関してはオブジェクトとして送られます (引数 の章を参照ください)。typeIs object の場合、そのオブジェクトは VP Get value によって返されるオブジェクトと同じ構造を持ちます。
    summaryText4D View Pro に表示するフォーミュラの説明
    minParamsNumber引数の最小の数
    maxParamsNumber引数の最大の数。 ここに parameters の length より大きな値を渡すことによって、デフォルトの型を持つ "任意の" 引数を宣言できるようになります。

    警告

    • VP SET CUSTOM FUNCTIONS が呼び出された場合、VP SET ALLOWED METHODS コマンドにより許可されたメソッド (あれば) は同 4D View Pro エリアにおいて無視されます。
    • VP SET CUSTOM FUNCTIONS が呼び出されると、4D View Pro エリアは SET TABLE TITLESSET FIELD TITLES コマンドに基づく機能を無視します。

    例題

    4D View Pro エリア内で、フォーミュラオブジェクトを使用して、数値を追加/顧客の苗字/顧客の性別を取得します:

    Case of
    :(FORM Event.code=On Load)

    var $o : Object
    $o:=New object

    // "addnum" メソッドを使用した "addnum" ファンクションを定義します
    $o.addnum:=New object
    $o.addnum.formula:=Formula(addnum)
    $o.addnum.parameters:=New collection
    $o.addnum.parameters.push(New object("name";"num1";"type";Is Integer))
    $o.addnum.parameters.push(New object("name";"num2";"type";Is Integer))

    // データベースフィールドから "ClientLastName" ファンクションを定義します
    $o.ClientLastName:=New object
    $o.ClientLastName.formula:=Formula([Customers]lastname)
    $o.ClientLastName.summary:="Lastname of the current client"

    // 引数を 1つ受け取る 4D式から "label" ファンクションを定義します
    $o.label:=New object
    $o.label.formula:=Formula(ds.Customers.get($1).label)
    $o.label.parameters:=New collection
    $o.label.parameters.push(New object("name";"ID";"type";Is Integer))

    // Define "Title" function from a variable named "Title"
    $o.Title:=New object
    $o.Title.formula:=Formula(Title)

    VP SET CUSTOM FUNCTIONS("ViewProArea";$o)

    End case

    参照

    VP SET ALLOWED METHODS

    VP SET DATA CONTEXT

    履歴
    バージョン内容
    v19 R5追加

    VP SET DATA CONTEXT ( vpAreaName : Text ; dataObj : Object {; options : Object } {; sheet : Integer} )
    VP SET DATA CONTEXT ( vpAreaName : Text ; dataColl : Collection ; {options : Object } {; sheet : Integer} )

    引数タイプ説明
    vpAreaNameObject->4D View Pro フォームオブジェクト名
    dataObjObject->データコンテキストに読み込むデータオブジェクト
    dataCollCollection->データコンテキストに読み込むデータのコレクション
    optionsObject->追加のオプション
    sheetInteger->シートのインデックス

    説明

    VP SET DATA CONTEXT コマンドは、シートのデータコンテキストを設定します。 データコンテキストは、ワークシートにバインドされたオブジェクトまたはコレクションで、自動生成オプションまたは VP SET BINDING PATH メソッドを使用することで、シートのセルにその内容を自動的に表示させることができます。 他方、VP Get data context コマンドは、ユーザーによる編集が含まれたコンテキストを返すことができます。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    dataObj または dataColl には、データコンテキストに読み込むデータを格納したオブジェクトまたはコレクションを渡します。 ピクチャーはデータURIスキームに変換されます。

    dataObj または dataColl に時間値を渡すには、次のプロパティを持つオブジェクトにカプセル化します (例題 4 参照):

    プロパティタイプ説明
    valueInteger, Real, Boolean, Text, Date, Nullコンテキストに設定する値
    timeRealコンテキストに設定する時間値 (秒単位)

    options には、追加のオプションを格納したオブジェクトを渡せます。 利用可能なプロパティは次のとおりです:

    プロパティタイプ説明
    resetObject新しいコンテキストを読み込む前にシートの内容をリセットする場合は true、それ以外は false (デフォルト)
    autoGenerateColumnsObjectコレクション型のデータの場合にのみ使用します。 データコンテキストがバインドされると同時に、カラムを自動生成する場合は true (デフォルト)。 この場合、次のルールが適用されます:
    • dataColl がオブジェクトのコレクションの場合、属性名はカラムのタイトルとして使用されます (例題 2 参照)。
    • dataColl がスカラー値のサブコレクションを含む場合、各サブコレクションは一つの行の値を定義します (例題 3 参照)。 最初のサブコレクションにより、生成されるカラム数が決定します。

    sheet には、データコンテキストを受け取るシートのインデックスを渡します。 インデックスを渡さなかった場合、コンテキストはカレントシートに対して適用されます。

    VP Export to object でドキュメントをオブジェクトにエクスポート、または VP EXPORT DOCUMENT でドキュメントを 4DVP ドキュメントにエクスポートする場合、includeBindingSource オプションを使うことで、現在のコンテキストの内容をエクスポート先のセルの値としてコピーすることができます。 詳細については、これらのメソッドの説明を参照ください。

    例題

    オブジェクトを受け渡し、先頭行のセルにコンテキストデータをバインドします:

    var $data : Object

    $data:=New object

    $data.firstName:="Freehafer"
    $data.lastName:="Nancy"

    VP SET DATA CONTEXT("ViewProArea"; $data)

    VP SET BINDING PATH(VP Cell("ViewProArea"; 0; 0); "firstName")
    VP SET BINDING PATH(VP Cell("ViewProArea"; 1; 0); "lastName")

    例題 2

    オブジェクトのコレクションを受け渡して、カラムを自動生成します:

    var $options : Object
    var $data : Collection

    $data:=New collection()
    $data.push(New object("firstname"; "John"; "lastname"; "Smith"))
    $data.push(New object("firstname"; "Mary"; "lastname"; "Poppins"))

    $options:=New object("autoGenerateColumns"; True)

    VP SET DATA CONTEXT("ViewProArea"; $data; $options)

    例題 3

    引数として渡す data は、サブコレクションを含むコレクションです。 それぞれのサブコレクションは行を定義します:

    var $data : Collection
    var $options : Object

    $data:=New collection
    $data.push(New collection(1; 2; 3; False; "")) // 5 columns are created
    $data.push(New collection) // Second row is empty
    $data.push(New collection(4; 5; Null; "hello"; "world")) // Third row has 5 values
    $data.push(New collection(6; 7; 8; 9)) // Fourth row has 4 values

    $options:=New object("autoGenerateColumns"; True)

    VP SET DATA CONTEXT("ViewProArea"; $data; $options)

    例題 4 - 日付と時間のシンタックス

    var $data : Collection
    var $options : Object

    $data:= New collection()

    // 日付はスカラー値として渡すことができます
    $data.push(New collection("Date"; Current date))

    // 時間はオブジェクト属性として渡す必要があります
    $data.push(New collection("Time"; New object("time"; 5140)))

    // 日付 + 時間の例
    $data.push(New collection("Date + Time"; New object("value"; Current date; "time"; 5140)))

    $options:=New object("autoGenerateColumns"; True)

    VP SET DATA CONTEXT("ViewProArea"; $data; $options)

    カラムが生成された後の結果です:

    参照

    VP SET BINDING PATH
    VP Get binding path
    VP Get data context

    VP SET DATE TIME VALUE

    VP SET DATE TIME VALUE ( rangeObj : Object ; dateValue : Date ; timeValue : Time {; formatPattern : Text } )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    dateValueDate->設定する日付値
    timeValue時間->設定する時間値
    formatPatternText->値のフォーマット

    説明

    VP SET DATE TIME VALUE コマンドは、指定されたセルレンジに日付・時間値を割り当てます。

    rangeObj には、値を割り当てたいセルのレンジ (たとえば VP Cell あるいは VP Column で作成されたレンジ) を渡します。 rangeObj 引数に複数のセルが含まれる場合、指定された値はそれぞれのセルに対して繰り返し割り当てられます。

    dateValue 引数に、rangeObj 引数のレンジに割り当てたい日付値を指定します。

    timeValue 引数に、rangeObj 引数のレンジに割り当てたい時間値 (秒単位) を指定します。

    任意の formatPattern 引数は、dateValue および timeValue 引数に対するパターンを定義します。 パターンおよびフォーマット文字に関しての情報については、日付と時間のフォーマット の章を参照してください。

    例題

    // セルの値をカレントの日付と時間に設定

    VP SET DATE TIME VALUE(VP Cell("ViewProArea";6;2);Current time;Current date;vk pattern full date time)

    // セルの値を 12月18日に設定
    VP SET DATE TIME VALUE(VP Cell("ViewProArea";3;9);!2024-12-18!;?14:30:10?;vk pattern sortable date time)

    参照

    4D View Pro cell format
    VP SET DATE VALUE
    VP SET TIME VALUE
    VP SET VALUE

    VP SET DATE VALUE

    VP SET DATE VALUE ( rangeObj : Object ; dateValue : Date { ; formatPattern : Text } )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    dateValueDate->設定する日付値
    formatPatternText->値のフォーマット

    説明

    VP SET DATE VALUE コマンドは、指定されたセルレンジに日付値を割り当てます。

    rangeObj には、値を割り当てたいセルのレンジを渡します。 rangeObj 引数に複数のセルが含まれる場合、指定された値はそれぞれのセルに対して繰り返し割り当てられます。

    dateValue 引数に、rangeObj 引数のレンジに割り当てたい日付値を指定します。

    任意の formatPattern 引数は、dateValue 引数に対するパターンを定義します。 カスタムのフォーマット、または以下の定数のいずれかを渡します:

    定数説明デフォルト US パターン
    vk pattern long dateISO 8601 フォーマットの完全な日付。"dddd, dd MMMM yyyy"
    vk pattern month dayISO 8601 フォーマットの月と日付。"MMMM dd"
    vk pattern short date省略形の ISO 8601 フォーマットの日付。"MM/dd/yyyy"
    vk pattern year monthISO 8601 フォーマットの年と月。"yyyy MMMM"

    パターンおよびフォーマット文字に関しての情報については、日付と時間のフォーマット の章を参照してください。

    例題

    // セルの日付をカレントの日付に設定します
    VP SET DATE VALUE(VP Cell("ViewProArea";4;2);Current date))

    // セルの値を、指定されたフォーマットの特定の日付に設定します
    VP SET DATE VALUE(VP Cell("ViewProArea";4;4);Date("12/25/94");"d/m/yy ")
    VP SET DATE VALUE(VP Cell("ViewProArea";4;6);!2005-01-15!;vk pattern month day)

    参照

    4D View Pro cell format
    VP SET DATE TIME VALUE
    VP SET VALUE

    VP SET DEFAULT STYLE

    VP SET DEFAULT STYLE ( vpAreaName : Text ; styleObj : Object { ; sheet : Integer } )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    styleObjObject->スタイルオブジェクト
    sheetInteger->シートインデックス (デフォルト=カレントシート)

    説明

    VP SET DEFAULT STYLE コマンドは、sheet で指定したシートに対して、styleObj 引数のスタイルをデフォルトスタイルとして定義します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    styleObj にはスタイル設定を格納したオブジェクトを渡します。 既存のスタイルシートを使用することもできますし、新しいスタイルを作成することも可能です。 詳細については、スタイルオブジェクト を参照ください。

    任意の sheet 引数として、シートのインデックスを渡すことで、スタイルが定義されるスプレッドシートを指定することができます。 省略された場合はデフォルトでカレントスプレッドシートが使用されます。 以下の定数を使用することでカレントのスプレッドシートを明示的に選択することができます:

    • vk current sheet

    例題

    $style:=New object
    $style.hAlign:=vk horizontal align left
    $style.font:="12pt papyrus"
    $style.backColor:="#E6E6FA" // 薄い紫色

    VP SET DEFAULT STYLE("myDoc";$style)

    参照

    VP ADD STYLESHEET
    VP Font to object
    VP Get default style
    VP Object to font
    VP SET BORDER
    VP SET CELL STYLE

    VP SET FIELD

    VP SET FIELD ( rangeObj : Object ; field : Pointer { ; formatPattern : Text } )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    フィールドポインター->仮想ストラクチャーのフィールドへの参照
    formatPatternText->フィールドのフォーマット

    説明

    VP SET FIELD コマンドは、指定されたセルレンジに、4Dデータベースの仮想フィールドを割り当てます。

    rangeObj には、値を割り当てたいセルのレンジを渡します。 rangeObj 引数に複数のセルが含まれる場合、指定されたフィールドはそれぞれのセルに対して繰り返し割り当てられます。

    field 引数は、rangeObj のレンジに対して割り当てられる 4Dデータベースの 仮想フィールド を指定します。 フォーミュラバーには、field の仮想ストラクチャー名が表示されます。 rangeObj に含まれるセルに既存のコンテンツがあった場合、そのコンテンツは field で上書きされます。

    任意の formatPattern 引数は、field 引数に対するパターンを定義します。 有効な カスタムフォーマット を渡すことができます。

    例題

    VP SET FIELD(VP Cell("ViewProArea";5;2);->[TableName]Field)

    参照

    VP SET VALUE

    VP SET FORMULA

    VP SET FORMULA ( rangeObj : Object ; formula : Text { ; formatPattern : Text } )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    formulaText->フォーミュラまたは 4Dメソッド
    formatPatternText->フィールドのフォーマット

    説明

    VP SET FORMULA コマンドは、指定されたセルレンジにフォーミュラまたは 4Dメソッドを割り当てます。

    rangeObj には、値を割り当てたいセルのレンジ (たとえば VP Cell あるいは VP Column で作成されたレンジ) を渡します。 rangeObj 引数に複数のセルが含まれる場合、指定されたフォーミュラはそれぞれのセルに対して繰り返し割り当てられます。

    formula 引数に、rangeObj 引数のレンジに割り当てたいフォーミュラまたは 4Dメソッド名を指定します。

    formula が文字列の場合、数値の区切り文字にピリオド . そして引数の区切り文字にカンマ , を使用します。 4Dメソッドを使用する場合、そのメソッドは SET ALLOWED METHODS コマンドで許可されている必要があります。

    任意の formatPattern 引数は、formula に対する パターン を定義します。

    rangeObj 内のフォーミュラは、空の文字列 ("") で置き換えることで削除することができます。

    例題 1

    VP SET FORMULA(VP Cell("ViewProArea";5;2);"SUM($A$1:$C$10)")

    例題 2

    フォーミュラを削除します:

    VP SET FORMULA(VP Cell("ViewProArea";5;2);"")

    例題 3

    VP SET FORMULA($range;"SUM(A1,B7,C11)") // 引数の区切り文字に ","

    参照

    Cell format
    VP Get Formula
    VP SET FORMULAS
    VP SET VALUE

    VP SET FORMULAS

    VP SET FORMULAS ( rangeObj : Object ; formulasCol : Collection )

    引数タイプ説明
    rangeObjObject->セルレンジオブジェクト
    formulasColCollection->フォーミュラのコレクション

    説明

    VP SET FORMULAS コマンドは、指定のセルレンジから開始してフォーミュラのコレクションを割り当てていきます。

    rangeObj には、フォーミュラを割り当てたいセルのレンジ (VP Cell で作成されたレンジ) を渡します。 rangeObj のレンジが複数レンジを指定している場合、最初のレンジのみが使用されます。

    formulasCol 引数は 2次元構造のコレクションです:

    • 第1レベルのコレクションは、フォーミュラのサブコレクションを格納しています。 それぞれのサブコレクションは行を定義します。
    • それぞれのサブコレクションは行におけるセルの値を定義します。 値は、セルに割り当てるフォーミュラを格納したテキスト要素でなくてはなりません。

    フォーミュラが文字列の場合、数値の区切り文字にピリオド . そして引数の区切り文字にカンマ , を使用します。 4Dメソッドを使用する場合、そのメソッドは SET ALLOWED METHODS コマンドで許可されている必要があります。

    rangeObj 内のフォーミュラは、空の文字列 ("") で置き換えることで削除することができます。

    例題 1

    $formulas:=New collection
    $formulas.push(New collection("MAX(B11,C11,D11)";"myMethod(G4)")) // 一行目
    $formulas.push(New collection("SUM(B11:D11)";"AVERAGE(B11:D11)")) // 二行目


    VP SET FORMULAS(VP Cell("ViewProArea";6;3);$formulas) // フォーミュラをセルに設定します

    myMethod:

    $0:=$1*3.33

    例題 2

    フォーミュラを削除します:

    $formulas:=New collection
    $formulas.push(New collection("";"")) // 一行目
    $formulas.push(New collection("";"")) // 二行目

    VP SET FORMULAS(VP Cell("ViewProArea";0;0);$formulas) // セルに割り当てます

    参照

    VP Get Formulas
    VP GET VALUESVP SET FORMULA
    VP SET VALUES

    VP SET FROZEN PANES

    VP SET FROZEN PANES ( vpAreaName : Text ; paneObj : Object { ; sheet : Integer } )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    paneObjObject->固定化されたカラムと行についての情報を格納したオブジェクト
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP SET FROZEN PANES コマンドは、vpAreaName 引数で指定した View Pro エリア内の、paneObj 引数のカラムと行の固定化ステータスを設定します。 固定化されたカラムと行は固定された位置に表示され続け、ドキュメントの他の部分がスクロールされても移動しません。 そのカラムと行が固定化されていることを示すために、太い実線が表示されます。 実線の位置は、固定化されたカラムまたは行がシートのどこにあるかによって変わります:

    • 左または右にあるカラム: シートの左側にあるカラムについては、実線は最後に固定化されたカラム (最も右のカラム) の右側に表示されます。 シートの右側に表示されているカラムについては、実線は最初に固定化されたカラム (最も左のカラム) の左側に表示されます。
    • 上または下にある行: シートの上部にある行については、実線は最後に固定化された行 (最も下の行) の下側に表示されます。 シートの下部に表示されている行については、実線は最初に固定化された行 (最も上の行) の上側に表示されます。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    paneObj には、固定化するカラムと行を定義するオブジェクトを渡します。 以下のカラムまたは行のプロパティの値にゼロを設定すると、そのプロパティをリセット (固定解除) します。 プロパティが 0以下の値に設定された場合、コマンドは何もしません。 以下のものを渡すことができます:

    プロパティタイプ説明
    columnCountIntegerシートの左側にある固定化されたカラム
    trailingColumnCountIntegerシートの右側にある固定化されたカラム
    rowCountIntegerシートの上側にある固定化された行
    trailingRowCountIntegerシートの下側にある固定化された行

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、定義されるレンジが属するスプレッドシートを指定することができます。 省略された場合はデフォルトでカレントスプレッドシートが使用されます。 以下の定数を使用することでカレントのスプレッドシートを明示的に選択することができます:

    • vk current sheet

    例題

    左側の最初の 3つのカラム、右側にある 2つのカラム、そして最初の行を固定化します:

    C_OBJECT($panes)

    $panes:=New object
    $panes.columnCount:=3
    $panes.trailingColumnCount:=2
    $panes.rowCount:=1

    VP SET FROZEN PANES("ViewProArea";$panes)

    参照

    VP Get frozen panes

    VP SET NUM VALUE

    VP SET NUM VALUE ( rangeObj : Object ; numberValue : Number { ; formatPattern : Text } )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    numberValueNumber->設定する数値
    formatPatternText->値のフォーマット

    説明

    VP SET NUM VALUE コマンドは、指定のセルレンジに数値を割り当てます。

    rangeObj には、値を割り当てたいセルのレンジ (たとえば VP Cell あるいは VP Column で作成されたレンジ) を渡します。 rangeObj 引数に複数のセルが含まれる場合、指定された値はそれぞれのセルに対して繰り返し割り当てられます。

    numberValue 引数に、rangeObj 引数のレンジに割り当てたい数値を指定します。

    任意の formatPattern 引数は、numberValue に対する パターン を定義します。

    例題

    // セルに2という値を設定します
    VP SET NUM VALUE(VP Cell("ViewProArea";3;2);2)

    // セルの値を設定し、フォーマットをドル表記に設定します
    VP SET NUM VALUE(VP Cell("ViewProArea";3;2);12.356;"_($* #,##0.00_)")

    参照

    Cell format
    VP SET VALUE

    VP SET PRINT INFO

    VP SET PRINT INFO ( vpAreaName : Text ; printInfo : Object { ; sheet : Integer } )

    引数タイプ説明
    vpAreaNameText->4D View Pro エリア名
    printInfoObject->印刷属性を格納するオブジェクト
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP SET PRINT INFO コマンドは、vpAreaName 引数で指定したエリアを印刷する際に使用する属性を定義します。

    vpAreaName には、印刷する 4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    printInfo には、様々な印刷属性の定義を格納したオブジェクトを渡します。 利用可能な属性の一覧については、4D View Pro 印刷属性 を参照してください。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、印刷するスプレッドシートを指定することができます。 省略された場合はデフォルトでカレントスプレッドシートが使用されます。 以下の定数を使用することでカレントのスプレッドシートを明示的に選択することができます:

    • vk current sheet

    例題

    以下のコードを実行すると、4D View Pro エリアを PDFドキュメントに出力します:

    var $printInfo : Object

    // 印刷属性オブジェクトを宣言します
    $printInfo:=New object

    // 印刷属性を定義します
    $printInfo.headerCenter:="&BS.H.I.E.L.D. &A Sales Per Region"
    $printInfo.firstPageNumber:=1
    $printInfo.footerRight:="page &P of &N"
    $printInfo.orientation:=vk print page orientation landscape
    $printInfo.centering:=vk print centering horizontal
    $printInfo.columnStart:=0
    $printInfo.columnEnd:=8
    $printInfo.rowStart:=0
    $printInfo.rowEnd:=24

    $printInfo.showGridLine:=True

    // 会社のロゴを追加します
    $printInfo.headerLeftImage:=logo.png
    $printInfo.headerLeft:="&G"

    $printInfo.showRowHeader:=vk print visibility hide
    $printInfo.showColumnHeader:=vk print visibility hide
    $printInfo.fitPagesWide:=1
    $printInfo.fitPagesTall:=1

    // 印刷情報を設定します
    VP SET PRINT INFO ("ViewProArea";$printInfo)

    // PDF を書き出します
    VP EXPORT DOCUMENT("ViewProArea";"Sales2018.pdf";New object("formula";Formula(ALERT("PDF ready!"))))

    出力されたPDF:

    参照

    4D View Pro print attributes
    VP Convert to picture
    VP Get print info
    VP PRINT

    VP SET ROW ATTRIBUTES

    VP SET ROW ATTRIBUTES ( rangeObj : Object ; propertyObj : Object )

    引数タイプ説明
    rangeObjObject->行レンジ
    propertyObjObject->行のプロパティを格納したオブジェクト

    説明

    VP SET ROW ATTRIBUTES コマンドは、rangeObj 引数で指定した行に対して propertyObj 引数で定義されている属性を適用します。

    rangeObj 引数には、レンジオブジェクトを渡します。 レンジにカラムと行の両方が格納されている場合、属性は行に対してのみ適用されます。

    propertyObj 引数は、rangeObj 引数のレンジ内の行に対して適用する属性を指定します。 指定できる属性は以下の通りです:

    プロパティタイプ説明
    heightnumber行の高さ (ピクセル単位)
    pageBreakbooleanレンジ内の先頭行の前に改ページを挿入する場合には true、それ以外は false
    visibleboolean行が表示状態であれば true、それ以外は false
    resizableboolean行がリサイズ可能であれば true、それ以外は false
    headertext行ヘッダーのテキスト

    例題

    2番目の行の高さを変更して、ヘッダーを設定します:

    var $row; $properties : Object

    $row:=VP Row("ViewProArea";1)
    $properties:=New object("height";75;"header";"June")

    VP SET ROW ATTRIBUTES($row;$properties)

    参照

    VP Get row attributes
    VP get column attributes
    VP SET ROW ATTRIBUTES

    VP SET ROW COUNT

    VP SET ROW COUNT ( vpAreaName : Text ; rowCount : Integer { ; sheet : Integer } )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    rowCountInteger->行数
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP SET ROW COUNT コマンドは、vpAreaName 引数内にある行の総数を定義します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    rowCount には、行の総数を渡します。 rowCount 引数は 0 より大きい値でなくてはなりません。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、rowCount が適用されるスプレッドシートを指定することができます。 省略された場合はデフォルトでカレントスプレッドシートが使用されます。 以下の定数を使用することでカレントのスプレッドシートを明示的に選択することができます:

    • vk current sheet

    例題

    以下のコードは 4D View Pro エリア内に 5つの行を定義します:

    VP SET ROW COUNT("ViewProArea";5)

    参照

    VP Get column count
    VP get row-count
    VP SET COLUMN COUNT

    VP SET SELECTION

    VP SET SELECTION ( rangeObj : Object )

    引数タイプ説明
    rangeObjObject->複数セルのレンジオブジェクト

    説明

    VP SET SELECTION コマンドは、指定のセルレンジを選択し、その先頭セルをアクティブセルに設定します。

    rangeObj には、カレントセレクションとして定義するセルのレンジオブジェクトを渡します。

    例題

    $currentSelection:=VP Combine ranges(VP Cells("myVPArea";3;2;1;6);VP Cells("myVPArea";5;7;1;7))
    VP SET SELECTION($currentSelection)

    参照

    VP Get active cell
    VP Get selection
    VP RESET SELECTION
    VP SET ACTIVE CELL
    VP ADD SELECTION
    VP SHOW CELL

    VP SET SHEET COUNT

    VP SET SHEET COUNT ( vpAreaName : Text ; number : Integer )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    numberInteger->シートの数

    説明

    VP SET SHEET COUNT コマンドは、vpAreaName 引数で指定した View Pro エリア内のシートの数を設定します。

    number 引数には、コマンド実行後にドキュメントが格納するシート数を指定する数値を渡します。

    警告: このコマンドは、現在のシート数より少ない数字を渡した場合にはシートを削除します。 たとえば、ドキュメント内にシートが 5つあり、このコマンドでシートを 3つに設定した場合には、シート4 と 5 は削除されます。

    例題

    ドキュメントには現在シートが 1つあります:

    シート数を 3つに設定します:

    VP SET SHEET COUNT("ViewProArea";3)

    参照

    VP Get sheet count

    VP SET SHEET NAME

    VP SET SHEET NAME ( vpAreaName : Text ; name : Text {; sheet: Integer} )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    nameText->シートの新しい名称
    sheetInteger->名称変更するシートのインデックス

    説明

    VP SET SHEET NAME コマンドは、vpAreaName 引数で指定した View Pro エリア内にロードされているドキュメント内のシート名を変更します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    name 引数として、シートの新しい名前を渡します。

    sheet 引数には、名称変更するシートのインデックスを渡します。

    インデックスは 0 起点です。

    sheet が省略された場合、コマンドはカレントシートを名称変更します。

    新しい名前には、次の文字を含めることはできません: *, :, [, ], ?,\,/

    このコマンドは、以下の場合には何もしません:

    • 新しい名前に禁止文字が含まれている
    • 新しい名前が空の文字列である
    • 新しい名前が既に存在している
    • sheet に渡したインデックスが存在しない

    例題

    3つ目のシートの名前を "Total first quarter" に変更します:

    VP SET SHEET NAME("ViewProArea";"Total first quarter";2)

    VP SET SHEET OPTIONS

    VP SET SHEET OPTIONS ( vpAreaName : Text; sheetOptions : Object { ; sheet : Integer} )

    引数タイプ説明
    vpAreaNameObject->4D View Pro エリア名
    sheetOptionsObject->設定するシートオプション
    sheetObject->シートのインデックス (省略した場合はカレントシート)

    説明

    VP SET SHEET OPTIONS コマンドは、vpAreaName 引数で名前を指定した View Pro エリアの様々なシートオプションを設定します。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    sheetOptions には、設定するオプションの定義を格納したオブジェクトを渡します。 利用可能なオプション一覧については、シートオプション を参照ください。

    任意の sheet 引数として、シートのインデックス (0 起点) を渡すことで、スプレッドシートを指定することができます。 省略された場合はデフォルトでカレントスプレッドシートが使用されます。 以下の定数を使用することでカレントのスプレッドシートを明示的に選択することができます:

    • vk current sheet

    例題 1

    C5:D10 のレンジ以外のセルをすべて保護します:

    // カレントシートでセルの保護を有効化します
    var $options : Object

    $options:=New object
    $options.isProtected:=True
    VP SET SHEET OPTIONS("ViewProArea";$options)

    // C5:D10 を 'unlocked' に設定します
    VP SET CELL STYLE(VP Cells("ViewProArea";2;4;2;6);New object("locked";False))

    例題 2

    ドキュメントを保護しつつ、ユーザーが行とカラムをリサイズできるようにします:

    var $options : Object

    $options:=New object
    // 保護を有効化します
    $options.isProtected:=True
    $options.protectionOptions:=New object
    // ユーザーに行のリサイズを許可します
    $options.protectionOptions.allowResizeRows=True;
    // ユーザーにカラムのリサイズを許可します
    $options.protectionOptions.allowResizeColumns=True;

    // カレントシートに上記の設定での保護を適用します
    VP SET SHEET OPTIONS("ViewProArea";$options)

    例題 3

    シートのタブ、固定化された線、枠線、選択範囲の背景と選択範囲の境界線のカラーをカスタマイズします:

    var $options : Object

    $options:=New object
    // Sheet1 のタブのカラーをカスタマイズします
    $options.sheetTabColor:="Black"
    $options.gridline:=New object("color";"Purple")
    $options.selectionBackColor:="rgb(255,128,0,0.4)"
    $options.selectionBorderColor:="Yellow"
    $options.frozenlineColor:="Gold"

    VP SET SHEET OPTIONS("ViewProArea";$options;0)

    // Sheet2 のタブのカラーをカスタマイズします
    $options.sheetTabColor:="red"

    VP SET SHEET OPTIONS("ViewProArea";$options;1)

    // Sheet3 のタブのカラーをカスタマイズします
    $options.sheetTabColor:="blue"

    VP SET SHEET OPTIONS("ViewProArea";$options;2)

    結果:

    例題 4

    枠線と、行ヘッダー/カラムヘッダーを非表示にします:

    var $options : Object

    $options:=New object

    $options.gridline:=New object()
    $options.gridline.showVerticalGridline:=False
    $options.gridline.showHorizontalGridline:=False
    $options.rowHeaderVisible:=False
    $options.colHeaderVisible:=False

    VP SET SHEET OPTIONS("ViewProArea";$options)

    結果:

    参照

    4D View Pro sheet options
    VP Get sheet options

    VP SET SHOW PRINT LINES

    VP SET SHOW PRINT LINES ( vpAreaName : Text {; visible : Boolean}{; sheet : Integer} )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    visibleBoolean->印刷線を表示する場合は true (デフォルト)、非表示の場合は false
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP SET SHOW PRINT LINES コマンドは、 スプレッドシート内で印刷プレビュー線を表示するかどうかを設定します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    visible には、印刷線を表示するには True、非表示にするには False を渡します。 デフォルトでは True が渡されます。

    sheet には、ターゲットシートのインデックスを渡します。 index が省略された場合、コマンドはカレントシートに対して適用されます。

    インデックスは 0 起点です。

    スプレッドシートの印刷線の位置は、スプレッドシートの改ページの位置によって変化します。

    例題

    以下のコードはドキュメントの 2番目のシートの印刷線を表示させます:

    VP SET SHOW PRINT LINES("ViewProArea";True;1)

    set-show-print-lines

    改ページがある場合:

    set-show-print-lines-with-page-break

    参照

    4D Get show print lines

    VP SET TABLE COLUMN ATTRIBUTES

    履歴
    バージョン内容
    v19 R7追加

    VP SET TABLE COLUMN ATTRIBUTES ( vpAreaName : Text ; tableName : Text ; column : Integer ; attributes : Object {; sheet : Integer } )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    tableNameText->表組みの名称
    columnInteger->表の列のインデックス
    attributesObject->column の列に適用する属性
    sheetInteger->シートのインデックス (省略した場合はカレントシート)

    説明

    VP SET TABLE COLUMN ATTRIBUTES コマンドは、tableName で指定した表組みの column でインデックスを指定した列に attributes の属性を適用します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    attributes 引数には、設定するプロパティを含むオブジェクトを渡します:

    プロパティタイプ説明
    dataFieldtextデータコンテキストにおける、表の列のプロパティ名。
    nametext表の列の名前。 表組み内でユニークでなくてはなりません。 すでに他の列で使われている場合、名前は適用されず、自動的にデフォルトの名前が使われます。
    formulatext列の各セルにフォーミュラを設定します。 SpreadJS のドキュメント Structured Reference Formulas 参照
    footerTexttext列のフッター値
    footerFormulatext列のフッターのフォーミュラ。
    filterButtonVisibleboolean表組みの列のフィルターボタンを表示するかどうかを設定します (表組み作成時のデフォルトは true)。

    sheet には、ターゲットシートのインデックスを渡します。 index が省略された場合、または -1 が渡された場合、コマンドはカレントシートに対して適用されます。

    インデックスは 0 起点です。

    tableName に指定した名称の表組みが見つからない場合、または column に指定したインデックスが列数を超える場合には、コマンドは何もしません。

    例題

    データコンテキストを使用した表組みを作成します:

    var $context;$options : Object

    $context:=New object()
    $context.col:=New collection()
    $context.col.push(New object("name"; "Smith"; "firstname"; "John"; "salary"; 10000))
    $context.col.push(New object("name"; "Wesson"; "firstname"; "Jim"; "salary"; 50000))
    $context.col.push(New object("name"; "Gross"; "firstname"; "Maria"; "salary"; 10500))
    VP SET DATA CONTEXT("ViewProArea"; $context)

    // 表組みの列を定義します
    $options:=New object()
    $options.tableColumns:=New collection()
    $options.tableColumns.push(New object("name"; "Last Name"; "dataField"; "name"))
    $options.tableColumns.push(New object("name"; "Salary"; "dataField"; "salary"))

    VP CREATE TABLE(VP Cells("ViewProArea"; 1; 1; 2; 3); "PeopleTable"; "col"; $options)

    その後、データコンテキストからデータを取得する列を挿入し、フィルターボタンをいくつか非表示にします:

        // 列を挿入します
    VP INSERT TABLE COLUMNS("ViewProArea"; "PeopleTable"; 1; 1)

    var $param : Object
    $param:=New object()
    // データコンテキストの firstname フィールドに列をバインドします
    $param.dataField:="firstname"
    // 列名をデフォルトから "First name" に変更します
    // フィルターボタンを非表示にします
    $param.name:="First Name"
    $param.filterButtonVisible:=False

    VP SET TABLE COLUMN ATTRIBUTES("ViewProArea"; "PeopleTable"; 1; $param)

    // 1列目のフィルターボタンも非表示にします
    VP SET TABLE COLUMN ATTRIBUTES("ViewProArea"; "PeopleTable"; 0; \
    New object("filterButtonVisible"; False))

    参照

    VP CREATE TABLE
    VP Find table
    VP Get table column attributes
    VP RESIZE TABLE

    VP SET TABLE THEME

    履歴
    バージョン内容
    v19 R8追加

    VP SET TABLE THEME ( vpAreaName : Text ; tableName : Text ; options : cs.ViewPro.TableTheme )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    tableNameText->表組みの名称
    optionscs.ViewPro.TableTheme->設定する表テーマのプロパティ

    説明

    VP SET TABLE THEME コマンドは、tableName の表の現在のテーマを変更します。

    vpAreaName には 4D View Pro エリアの名前を渡します。tableName には変更する表の名前を渡します。

    options には、設定するテーマプロパティを格納する cs.ViewPro.TableTheme クラス のオブジェクトを渡します。

    例題 1

    あらかじめ定義されたテーマを表に設定します:

    var $param : cs.ViewPro.TableTheme
    $param:=cs.ViewPro.TableTheme.new()
    $param.theme:="medium2"
    VP SET TABLE THEME("ViewProArea"; "myTable"; $param)

    例題 2

    交互の列表示を設定します:

    var $param : cs.ViewPro.TableTheme
    $param:=cs.ViewPro.TableTheme.new()

    // 交互の列の表示を有効にします
    $param.bandColumns:=True
    $param.bandRows:=False

    // ヘッダーと列のスタイル用のテーマオブジェクトを作成します
    $param.theme:=cs.ViewPro.TableThemeOptions.new()

    var $styleHeader; $styleColumn; $styleColumn2 : cs.ViewPro.TableStyle

    $styleHeader:=cs.ViewPro.TableStyle.new()
    $styleHeader.backColor:="Gold"
    $styleHeader.foreColor:="#03045E"
    $param.theme.headerRowStyle:=$styleHeader

    $styleColumn1:=cs.ViewPro.TableStyle.new()
    $styleColumn1.backColor:="SkyBlue"
    $styleColumn1.foreColor:="#03045E"
    $param.theme.firstColumnStripStyle:=$styleColumn1

    $styleColumn2:=cs.ViewPro.TableStyle.new()
    $styleColumn2.backColor:="LightCyan"
    $styleColumn2.foreColor:="#03045E"
    $param.theme.secondColumnStripStyle:=$styleColumn2

    VP SET TABLE THEME("ViewProArea"; "myTable"; $param)

    参照

    VP CREATE TABLE
    VP Get table theme

    VP SET TEXT VALUE

    VP SET TEXT VALUE ( rangeObj : Object ; textValue : Text { ; formatPattern : Text } )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    textValueText->設定するテキスト値
    formatPatternText->値のフォーマット

    説明

    VP SET TEXT VALUE コマンドは、指定されたセルレンジにテキスト値を割り当てます。

    rangeObj には、値を割り当てたいセルのレンジ (たとえば VP Cell あるいは VP Column で作成されたレンジ) を渡します。 rangeObj 引数に複数のセルが含まれる場合、指定された値はそれぞれのセルに対して繰り返し割り当てられます。

    textValue 引数には、rangeObj 引数のレンジに割り当てたいテキスト値を指定します。

    任意の formatPattern 引数は、textValue に対する パターン を定義します。

    例題

    VP SET TEXT VALUE(VP Cell("ViewProArea";3;2);"Test 4D View Pro")

    参照

    Cell Format
    VP SET VALUE

    VP SET TIME VALUE

    VP SET TIME VALUE ( rangeObj : Object ; timeValue : Text { ; formatPattern : Text } )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    timeValueText->設定する時間値
    formatPatternText->値のフォーマット

    説明

    VP SET TIME VALUE コマンドは、指定されたセルレンジに時間値を割り当てます。

    rangeObj には、値を割り当てたいセルのレンジ (たとえば VP Cell あるいは VP Column で作成されたレンジ) を渡します。 rangeObj 引数に複数のセルが含まれる場合、指定された値はそれぞれのセルに対して繰り返し割り当てられます。

    timeValue 引数には、rangeObj 引数のレンジに割り当てる時間 (秒単位) を指定します。

    任意の formatPattern 引数は、timeValue に対する パターン を定義します。

    例題

    // セルの値を現在の時間に設定します
    VP SET TIME VALUE(VP Cell("ViewProArea";5;2);Current time)

    // セルの値を、指定されたフォーマットの特定の時間に設定します
    VP SET TIME VALUE(VP Cell("ViewProArea";5;2);?12:15:06?;vk pattern long time)

    参照

    Cell Format
    VP SET DATE TIME VALUE
    VP SET VALUE

    VP SET VALUE

    VP SET VALUE ( rangeObj : Object ; valueObj : Object )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    valueObjObject->セルの値とフォーマットオプション

    説明

    VP SET VALUE コマンドは、指定されたセルレンジに値を割り当てます。

    このコマンドを使用すると、汎用的なコードで rangeObj のレンジに様々な型の値とそのフォーマットを設定できます。それに対して VP SET TEXT VALUEVP SET NUM VALUE などの他のコマンドは、設定する値の型が限定されています。

    rangeObj には、値を割り当てたいセルのレンジ (たとえば VP Cell あるいは VP Column で作成されたレンジ) を渡します。 rangeObj 引数に複数のセルが含まれる場合、指定された値はそれぞれのセルに対して繰り返し割り当てられます。

    valueObj 引数は、rangeObj のレンジに対して割り当てたい値とフォーマット のプロパティを格納しているオブジェクトです。 このオブジェクトには以下のプロパティを含めることができます:

    プロパティタイプ説明
    valueInteger, Real, Boolean, Text, Date, NullrangeObj のレンジに対して割り当てる値 (時間型を除く)。 セルの中身を消去するためには Null を渡します。
    timeRealrangeObj のレンジに対して割り当てる時間 (秒単位)
    formatText値や日時に対するパターン 値や日時に対するパターン パターンおよびフォーマット文字に関しての情報については、セルフォーマット の章を参照してください。

    例題

    // セルの値を False に設定します
    VP SET VALUE(VP Cell("ViewProArea";3;2);New object("value";False))

    // セルの値を 2 に設定します
    VP SET VALUE(VP Cell("ViewProArea";3;2);New object("value";2))

    // セルの値を $125,571.35 に設定します
    VP SET VALUE(VP Cell("ViewProArea";3;2);New object("value";125571.35;"format";"_($* #,##0.00_)"))

    // セルの値を Hello World!
    VP SET VALUE(VP Cell("ViewProArea";3;2);New object("value";"Hello World!"))

    // セルの値を現在の日付に設定します
    VP SET VALUE(VP Cell("ViewProArea";4;2);New object("value";Current date))

    // セルの値を現在の時間に設定します
    VP SET VALUE(VP Cell("ViewProArea";5;2);New object("time";Current hour))

    // セルの値を特定の日付と時間に設定します
    VP SET VALUE(VP Cell("ViewProArea";3;9);New object("value";!2024-12-18!);"time";?14:30:10?;"format";vk pattern full date time))

    // セルの中身を消去します
    VP SET VALUE(VP Cell("ViewProArea";3;9);New object("value";Null))

    参照

    Cell Format
    VP Get values
    VP SET VALUE
    VP SET BOOLEAN VALUE
    VP SET DATE TIME VALUE
    VP SET FIELD
    VP SET FORMULA
    VP SET NUM VALUE
    VP SET TEXT VALUE
    VP SET TIME VALUE

    VP SET VALUES

    VP SET VALUES ( rangeObj : Object ; valuesCol : Collection )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    valuesColCollection->値のコレクション

    説明

    VP SET VALUES コマンドは、指定のセルレンジから開始して値のコレクションを割り当てていきます。

    rangeObj には、値を割り当てたいセルのレンジ (たとえば VP Cell あるいは VP Column で作成されたレンジ) を渡します。 rangeObj 引数で定義されたセルは、開始ポイントを決定します。

    • rangeObj がセルレンジではない場合、レンジの最初のセルが使用されます。
    • rangeObj のレンジが複数レンジを指定している場合、最初のレンジの先頭セルのみが使用されます。

    valuesCol 引数は 2次元構造のコレクションです:

    • 第1レベルのコレクションは、値のサブコレクションを格納しています。 それぞれのサブコレクションは行を定義します。 行をスキップするには空のコレクションを渡します。
    • それぞれのサブコレクションは行におけるセルの値を定義します。 値は整数、実数、ブール、テキスト、日付、Null、オブジェクトのいずれかです。 値がオブジェクトの場合、以下のプロパティを持つことができます:
    プロパティタイプ説明
    valueInteger, Real, Boolean, Text, Date, Nullセルの値 (時間部分を除く)
    timeReal時間値 (秒単位)

    例題

    $param:=New collection
    $param.push(New collection(1;2;3;False)) // 1行目用に 4つの値を設定します
    $param.push(New collection) // 2行目は空行です
    $param.push(New collection(4;5;Null;"hello";"world")) // 3行目用に 5つの値を設定します
    $param.push(New collection(6;7;8;9)) // 4行目用に 4つの値を設定します
    $param.push(New collection(Null;New object("value";Current date;"time";42))) // 5行目用に 1つの値を設定します

    VP SET VALUES(VP Cell("ViewProArea";2;1);$param)

    参照

    VP Get formulas
    VP Get value
    VP Get Values
    VP SET FORMULAS
    VP SET VALUE

    VP SET WORKBOOK OPTIONS

    VP SET WORKBOOK OPTIONS ( vpAreaName : Text ; optionObj : Object)

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名
    optionObjObject->設定するワークブックオプションを格納したオブジェクト

    説明

    VP SET WORKBOOK OPTIONS コマンドは、vpAreaName 引数で指定した View Pro エリアのワークブックオプションを設定します。

    vpAreaName には、4D View Pro エリアの名前を渡します。

    optionObjには、vpAreaName のエリアに対して適用するワークブックオプションを渡します。

    optionObj 引数が空の場合、このコマンドは何もしません。

    変更されたワークブックオプションはドキュメントとともに保存されます。

    次の表は、利用可能なワークブックオプションの一覧です:

    プロパティタイプ説明
    allowUserDragMergebooleanドラッグ&マージオプションを許可します (複数セルを選択し、選択をドラッグしてセルを結合します)
    allowAutoCreateHyperlinkbooleanスプレッドシート内でハイパーリンクの自動作成を有効にします。
    allowContextMenubooleanビルトインのコンテキストメニューの使用を許可します。
    allowCopyPasteExcelStylebooleanスプレッドシートのスタイルを Excel にコピー&ペーストすることを許可します (逆も可)。
    allowDynamicArraybooleanワークシート内で動的配列を有効にします。
    allowExtendPasteRangeboolean貼り付けデータが貼り付け先の範囲に収まりきらない場合に、貼り付け先の範囲を拡張します。
    allowSheetReorderbooleanシートの順序変更を許可します。
    allowUndoboolean編集を元に戻す操作を許可します。
    allowUserDeselectboolean選択範囲から特定のセルを除外することを許可します。
    allowUserDragDropbooleanレンジデータのドラッグ&ドロップを許可します。
    allowUserDragFillbooleanドラッグ&フィルを許可します。
    allowUserEditFormulabooleanセルへのフォーミュラの入力を許可します。
    allowUserResizebooleanカラムと行のリサイズを許可します。
    allowUserZoombooleanズームを許可します (Ctrl + マウスホイール)。
    autoFitTypenumberセル内やヘッダー内に収まるよう、内容をフォーマットします。 使用可能な値:
    定数説明
    vk auto fit type cell 0 内容をセル内に収めます。
    vk auto fit type cell with header 1 内容をセル内・ヘッダー内に収めます。
    backColorstringエリアの背景色を表すカラー文字列 (例: "red"、"#FFFF00"、"rgb(255,0,0)"、"Accent 5")。 backgroundImage を設定している場合、背景色は非表示になります。
    backgroundImagestring / picture / fileエリアの背景画像。
    backgroundImageLayoutnumber背景画像のレイアウト。 使用可能な値:
    定数説明
    vk image layout center 1 エリアの中央に表示。
    vk image layout none 3 エリアの左上に元のサイズで表示。
    vk image layout stretch 0 エリアを埋めるように拡大表示。
    vk image layout zoom 2 アスペクト比を維持して表示。
    calcOnDemandboolean要求されたときのみフォーミュラを計算します。
    columnResizeModenumberカラムのリサイズモード。 使用可能な値:
    定数説明
    vk resize mode normal 0 通常のリサイズモード (残りのカラムに影響します)
    vk resize mode split 1 split モード (残りのカラムに影響しません)
    copyPasteHeaderOptionsnumberデータのコピー/ペースト時に含めるヘッダーについて指定します。 使用可能な値:
    定数説明
    vk copy paste header options all headers3 データのコピー時: 選択ヘッダーを含めます。データのペースト時: 選択ヘッダーを上書きします。
    vk copy paste header options column headers 2 データのコピー時: 選択されたカラムヘッダーを含めます。データのペースト時: 選択されたカラムヘッダーを上書きします。
    vk copy paste header options no headers0 データのコピー時: ヘッダーを含めません。データのペースト時: ヘッダーを上書きしません。
    vk copy paste header options row headers1 データのコピー時: 選択された行ヘッダーを含めます。データのペースト時: 選択された行ヘッダーを上書きします。
    customListcollectionドラッグ&フィルをカスタマイズするためのリストです。フィルの際には、このリストに合致する値が入力されます。 各コレクション要素は、文字列のコレクションです。 SpreadJS のドキュメント 参照。
    cutCopyIndicatorBorderColorstringユーザーが選択をカットまたはコピーしたときの領域の境界色。
    cutCopyIndicatorVisiblebooleanコピーまたはカットされた際の領域を表示します。
    defaultDragFillTypenumberデフォルトのドラッグ&フィルタイプ。 使用可能な値 :
    定数説明
    vk auto fill type auto 5 自動でセルをフィルします。
    vk auto fill type clear values 4 セルの値をクリアします。
    vk auto fill type copycells 0 値・フォーマット・フォーミュラを含むすべてのデータオブジェクトでセルをフィルします。
    vk auto fill type fill formatting only 2 フォーマットのみでセルをフィルします。
    vk auto fill type fill series 1 連続データでフィルします。
    vk auto fill type fill without formatting 3 値のみでセルをフィルします (フォーマットは除外)。
    enableAccessibilitybooleanスプレッドシートにおけるアクセシビリティのサポートを有効にします。
    enableFormulaTextboxbooleanフォーミュラテキストボックスを有効化します。
    grayAreaBackColorstringグレー領域の背景色を表すカラー文字列 (例: "red"、"#FFFF00"、"rgb(255,0,0)"、"Accent 5")。
    highlightInvalidDataboolean無効なデータをハイライト表示します。
    iterativeCalculationboolean反復計算を有効にします。 SpreadJS のドキュメント 参照。
    iterativeCalculationMaximumChangenumeric2つの計算値の最大差。
    iterativeCalculationMaximumIterationsnumericフォーミュラが反復計算される最大回数。
    newTabVisibleboolean新規シートを挿入するための特別なタブを表示します。
    numbersFitModenumber日付/数値データがカラム幅を超える場合の表示モード。 使用可能な値:
    定数説明
    vk numbers fit mode mask0 データの中身を "###" で置き換え、Tipを表示します。
    vk numbers fit mode overflow 1 データの中身を文字列として表示します。 隣のセルが空であれば、はみ出して表示します。
    pasteSkipInvisibleRangeboolean非表示のレンジへの貼り付けについて指定します。
    • False (デフォルト): データを貼り付けます。
    • True: 非表示のレンジはスキップします。
    非表示のレンジについての詳細は SpreadJS のドキュメント を参照ください。
    referenceStylenumberセルフォーミュラにおける、セルやレンジ参照のスタイル。 使用可能な値:
    定数説明
    vk reference style A1 0 A1 スタイルを使用します。
    vk reference style R1C1 1 R1C1 スタイルを使用します。
    resizeZeroIndicatornumber行やカラムのサイズが 0 に変更されたときの描画ポリシー。 使用可能な値:
    定数説明
    vk resize zero indicator default 0 行やカラムのサイズが 0 に変更されたときに、現在の描画ポリシーを使用します。
    vk resize zero indicator enhanced 1 行やカラムのサイズが 0 に変更されたときに、2本の短い線を描画します。
    rowResizeModenumber行のリサイズモード。 使用可能な値は columnResizeMode と同じです。
    scrollbarAppearancenumberスクロールバーの見た目。 使用可能な値:
    定数説明
    vk scrollbar appearance mobile1 モバイル風のスクロールバー。
    vk scrollbar appearance skin (デフォルト)0 Excel風のクラシックなスクロールバー。
    scrollbarMaxAlignbooleanスクロールバーをアクティブシートの最後の行およびカラムに揃えます。
    scrollbarShowMaxbooleanシートのカラムと行の総数に基づいてスクロールバーを表示します。
    scrollByPixelbooleanピクセル単位のスクロールを有効にします。
    scrollIgnoreHiddenbooleanスクロールバーは非表示の行やカラムを無視します。
    scrollPixelintegerscrollByPixel が true の場合、スクロール毎のピクセル数を指定します。 最終的にスクロールするピクセル数は scrolling delta (スクロールの相対変化値) * scrollPixel によって算出されます。 例: scrolling delta が 3、scrollPixel が 5 の場合、最終的なスクロールピクセル数は 15 です。
    showDragDropTipbooleanドラッグ&ドロップの Tip を表示します。
    showDragFillSmartTagbooleanドラッグ&フィルダイアログを表示します。
    showDragFillTipbooleanドラッグ&フィルの Tip を表示します。
    showHorizontalScrollbarboolean横スクロールバーを表示します。
    showResizeTipnumberリサイズ Tip の表示を指定します。 使用可能な値:
    定数説明
    vk show resize tip both 3 縦と横のリサイズ Tip が表示されます。
    vk show resize tip column 1 横のリサイズ Tip のみ表示されます。
    vk show resize tip none 0 リサイズ Tip は表示されません。
    vk show resize tip row 2 縦のリサイズ Tip のみ表示されます。
    showScrollTipnumberスクロール Tip の表示を指定します。 使用可能な値:
    定数説明
    vk show scroll tip both 3 縦と横のスクロール Tip が表示されます。
    vk show scroll tip horizontal 1 横のスクロール Tip のみ表示されます。
    vk show scroll tip none スクロール Tip は表示されません。
    vk show scroll tip vertical 2 縦のスクロール Tip のみ表示されます。
    showVerticalScrollbarboolean縦スクロールバーを表示します。
    tabEditablebooleanタブストリップの編集を有効にします。
    tabNavigationVisiblebooleanタブナビゲーションを表示します。
    tabStripPositionnumberタブストリップの位置を指定します。 使用可能な値:
    定数説明
    vk tab strip position bottom 0 タブストリップはワークブックの下側に位置します。
    vk tab strip position left 2 タブストリップはワークブックの左側に位置します。
    vk tab strip position right 3 タブストリップはワークブックの右側に位置します。
    vk tab strip position top 1 タブストリップはワークブックの上側に位置します。
    tabStripRationumberスプレッドシートエリアの幅において、タブストリップが占める割合を指定します (0.x)。 残るスペース (1 - 0.x) には横スクロールバーが表示されます。
    tabStripVisiblebooleanタブストリップを表示します。
    tabStripWidthnumberタブストリップの位置が左側/右側の場合に、その幅を指定します。 デフォルト値は最小値の 80 です。
    useTouchLayoutbooleanSpreadコンポーネントを提示するのにタッチレイアウトを使用するかどうかを指定します。

    例題

    "ViewProArea" 内で allowExtendpasteRange オプションを設定します:

    var $workbookOptions : Object

    $workbookOptions:= New Object
    $workbookOptions.allowExtendPasteRange:=True

    VP SET WORKBOOK OPTIONS("ViewProArea";$workbookOptions)

    参照

    VP Get workbook options

    VP SHOW CELL

    VP SHOW CELL ( rangeObj : Object { ; vPos : Integer; hPos : Integer } )

    引数タイプ説明
    rangeObjObject->レンジオブジェクト
    vPosInteger->セルあるいは行の縦方向の表示位置
    hPosInteger->セルあるいはカラムの横方向の表示位置

    説明

    VP SHOW CELL コマンドは、rangeObj で指定したレンジの表示位置を変更します。

    rangeObj 引数には、表示位置を指定するセルのレンジオブジェクトを渡します。 rangeObj で指定したレンジの表示位置は、vPos および hPos 引数に従って縦・横に移動します。 rangeObj の縦方向の表示位置は vPos 引数で、横方向の表示位置は hPos 引数で指定します。

    次のセレクターが利用可能です:

    セレクター説明vPos で利用可hPos で利用可
    vk position bottomセルあるいは行の下辺に対する垂直揃え。X
    vk position center中央揃え。 セル・行・カラムの境界に対して位置を揃えます:
  • 縦方向の表示位置 - セルあるいは行
  • 横方向の表示位置 - セルあるいはカラム
  • XX
    vk position leftセルあるいはカラムの左辺に対する水平揃え。X
    vk position nearest一番近い基準に対する位置揃え (上、下、左、右、中央)。 セル・行・カラムの境界に対して位置を揃えます:
  • 縦方向の表示位置 (上、中央、下) - セルあるいは行
  • 横方向の表示位置 (左、中央、右) - セルあるいはカラム
  • XX
    vk position rightセルあるいはカラムの右辺に対する水平揃え。X
    vk position topセルあるいは行の上辺に対する垂直揃え。X

    このコマンドは、表示位置の変更が可能な場合にのみ動作します。 たとえば、rangeObj が現在のシートの A1 セル (先頭カラムと先頭行) の場合、すでに縦および横方向の限界に接している (つまり、上にも左にもこれ以上スクロールできない) ため、表示位置を変更しても何も変わりません。 rangeObj が C3 セルの場合に、表示位置を中央または右下に変えても同じことが言えます。 表示は変更されません。

    例題

    AY カラムの 51 行目のセルを 4D View Pro エリアの中央に表示します:

    $displayCell:=VP Cell("myVPArea";50;50)
    // セルが表示されるよう、表示位置を調整します
    VP SHOW CELL($displayCell;vk position center;vk position center)

    結果:

    先ほどのコードの縦および横方向のセレクターを変更して、AY51 セルを 4D View Pro エリアの右上に表示します:

    $displayCell:=VP Cell("myVPArea";50;50)
    // セルが表示されるよう、表示位置を調整します
    VP SHOW CELL($displayCell;vk position top;vk position right)

    結果:

    参照

    VP ADD CELL
    VP Get active cell
    VP Get selection
    VP RESET SELECTION
    VP SET ACTIVE CELL
    VP SET SELECTION

    VP SUSPEND COMPUTING

    VP SUSPEND COMPUTING ( vpAreaName : Text )

    引数タイプ説明
    vpAreaNameText->4D View Pro フォームオブジェクト名

    説明

    VP SUSPEND COMPUTING コマンドは、vpAreaName 引数で指定したエリア内の計算をすべて停止します。 このコマンドは、4D View Pro エリア内の計算を停止したい場合、たとえばフォーミュラを手動で編集している際に、最終的な編集が完了するまでエラーが発生しないようにするのに便利です。

    このコマンドは 4D View Pro 内の計算機能を停止します。 すでに計算済みのフォーミュラはそのままですが、VP SUSPEND COMPUTING の実行後に追加されたフォーミュラは計算されません。

    vpAreaName には、4D View Pro エリアの名前を渡します。 存在しない名前を渡した場合、エラーが返されます。

    4D View Pro 計算機能は停止/再開アクションを内部的にカウントしています。 そのため、VP SUSPEND COMPUTING コマンドの実行数は、VP RESUME COMPUTING コマンドの実行数と釣り合っていなければなりません。 計算が停止されていた間に編集された部分に影響を受けるフォーミュラは、 VP RESUME COMPUTING コマンドが実行された時に再計算されます。

    例題

    ユーザーが計算を停止/再開できるように、フォーム上に 2つボタンを追加します:

    計算停止ボタンのコード:

     // ユーザーが情報を入力する間、計算を停止します
    If(FORM Event.code=On Clicked)

    VP SUSPEND COMPUTING("ViewProArea")

    End if
    // 計算再開ボタンのコード:
    If(FORM Event.code=On Clicked)

    VP RESUME COMPUTING("ViewProArea")

    End if

    参照

    VP RECOMPUTE FORMULAS
    VP RESUME COMPUTING