TXLSXDataValidations は TXLSXWorksheet.DataValidations の Excel 入力制約を管理し、各ルールは TXLSXDataValidation です
宣言
function Add(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1: WideString): Integer;
function Add(const ARange: WideString; AType: TXLSXDataValidationType; AOp: TXLSXDvOperator; const AFormula1, AFormula2: WideString): Integer;
function AddList(const ARange, AItems: WideString): Integer;
procedure TXLSXDataValidation.SetPrompt(const ATitle, AText: WideString);
procedure TXLSXDataValidation.SetError(const ATitle, AText: WideString; AStyle: TXLSXDvErrorStyle = xlsxDvErrStop);
ルールメンバー
| Range and ValidationType | 対象セルと整数、十進、リスト、日付、時刻、文字長、カスタムの検証種別 |
| Op, Formula1 and Formula2 | 比較演算子と一つまたは二つの条件式 |
| AllowBlank | 空値を許可しながらルールを保持 |
| PromptTitle and Prompt | 対象セル選択時に表示する入力メッセージ |
| ErrorTitle, ErrorMessage and ErrorStyle | 無効入力の警告と停止、警告、情報アイコン |
| ShowDropDown | リスト検証の選択矢印を表示するか制御 |
| ImeMode | 対応する CJK クライアントの OOXML IME 入力モード |
ルールのターゲット範囲
2.384.76 から、ワークシート内のターゲットは単一セル、セル矩形、$B:$D のような列全体、$5:$8 のような行全体を受け付けます。逆順の端点は正規化され、空白、タブ、改行で複数の領域を区切れます
絶対参照と複合参照は元の Range テキストを保ちます。マッチングは 1 ~ 1048576 行、A ~ XFD 列を対象にし、不正な形式やグリッド外の領域はスキップします。同じルール内の有効な領域は、setter が新たに例外を起こすことなく、アクティブなまま保たれます
シート修飾参照や外部参照はターゲット領域にはなりません。各ルールは自分のワークシートに属し、ドル記号は通常の A1 参照位置にだけ置けます
ルールのルックアップ、セルと範囲の削除、単一セルの検証、保存セル検証の監査は、同じターゲット ジオメトリを使います。ターゲットの解析が変わっても、リスト ソース数式のサポートは変わりません
2.384.77 から、行と列の編集はワークシート グリッド内の全軸ルール ターゲットも変換します。全行または全列に及ぶ範囲は、その軸の編集では完全なまま保たれ、もう一方の軸の編集ではターゲットが移動、縮小、削除されます
範囲クローンは完全カバレッジの契約を保ちます。ルールがコピーされるには、すべてのターゲット領域がコピー元の矩形に収まっている必要があり、部分的な交差だけではルールはコピーされません。全軸ターゲットは、宛先がグリッド内に収まっているとき、行全体または列全体のソースからクローンできます
全軸の検証ターゲットは編集中も 1 つのルールのままで、数式は最初に生き残ったアンカーから調整されます。既存の ODS カスタム ブールやスカラー数式の相互運用サポートが広がるわけではありません
例
var Index: Integer;
begin
Index := Sheet.DataValidations.AddList('D2:D100', 'New,Active,Closed');
Sheet.DataValidations[Index].SetPrompt('Status', 'Select a permitted status');
Sheet.DataValidations[Index].SetError('Invalid status', 'Choose a value from the list');
end;ODS での適用範囲
ODS のエクスポートは、行全体や列全体を含む、最初にサポートされたターゲット領域から有効な先頭セルのベース アドレスを導出します。不正な形式の先頭領域がベース アドレスになることはありません
カスタム ブール検証のエクスポートは引き続き未対応で、スカラーのしきい値数式は既存の数式構文の制限をそのまま保ちます。ターゲット範囲の修正が、相対検証数式の外部相互運用を確立するわけではありません
関連項目