HotXLS ドキュメント

TXLSXDataValidation と TXLSXDataValidations クラス

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 のエクスポートは、行全体や列全体を含む、最初にサポートされたターゲット領域から有効な先頭セルのベース アドレスを導出します。不正な形式の先頭領域がベース アドレスになることはありません
カスタム ブール検証のエクスポートは引き続き未対応で、スカラーのしきい値数式は既存の数式構文の制限をそのまま保ちます。ターゲット範囲の修正が、相対検証数式の外部相互運用を確立するわけではありません

関連項目