Documentação HotXLS

Classes TXLSXDataValidation e TXLSXDataValidations

TXLSXDataValidations gerencia restrições de entrada do Excel para TXLSXWorksheet.DataValidations, e cada regra é uma TXLSXDataValidation

Declarações

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);

Membros da regra

Range and ValidationTypeCélulas de destino e o tipo de validação de número inteiro, decimal, lista, data, hora, comprimento de texto ou personalizado
Op, Formula1 and Formula2Operador de comparação e uma ou duas expressões de critério
AllowBlankPermite um valor vazio mantendo a regra de validação
PromptTitle and PromptMensagem de entrada mostrada quando uma célula de destino é selecionada
ErrorTitle, ErrorMessage and ErrorStyleAlerta de entrada inválida e seu ícone de parada, aviso ou informação
ShowDropDownControla se uma validação de lista exibe sua seta de seleção
ImeModeModo de entrada IME OOXML para clientes CJK compatíveis

Intervalos de alvo das regras

A partir de 2.384.76, os alvos locais da planilha aceitam células individuais, retângulos de células, colunas inteiras como $B:$D e linhas inteiras como $5:$8; extremos invertidos são normalizados, e espaços, tabulações ou quebras de linha separam múltiplas áreas
Referências absolutas e mistas mantêm o texto original de Range; a correspondência usa linhas de 1 a 1048576 e colunas de A a XFD, pula áreas malformadas ou fora da grade, e mantém as áreas irmãs válidas ativas sem lançar uma nova exceção no setter
Referências com qualificação de planilha e referências externas não são áreas de alvo; cada regra pertence à sua planilha, e os cifrões devem aparecer nas posições comuns de referência A1
A busca de regras, a exclusão de células e intervalos, a validação de célula única e as auditorias de validação de células armazenadas usam a mesma geometria de alvos; a análise dos alvos não muda o suporte a fórmulas de origem de lista
A partir de 2.384.77, edições de linhas e colunas também transformam alvos de regra de eixo inteiro dentro da grade da planilha; uma extensão que cobre toda linha ou coluna permanece completa quando esse eixo é editado, enquanto edições no outro eixo movem, encolhem ou removem o alvo
A clonagem de intervalos mantém o contrato de cobertura completa: toda área de alvo precisa caber dentro do retângulo de origem antes de a regra ser copiada, e interseção parcial sozinha não copia uma regra; alvos de eixo inteiro podem ser clonados de uma origem de linha inteira ou coluna inteira quando o destino fica dentro da grade
Alvos de validação de eixo inteiro permanecem uma única regra durante edições, com a fórmula ajustada a partir de sua primeira âncora sobrevivente; isso não estende o suporte existente de interoperabilidade ODS para booleanos personalizados ou fórmulas escalares

Exemplo

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;

Escopo ODS

A exportação ODS deriva um endereço base válido de primeira célula a partir da primeira área de alvo suportada, incluindo linhas e colunas inteiras; áreas iniciais malformadas não se tornam endereços base
A exportação de validação booleana personalizada permanece sem suporte, e fórmulas escalares de limiar mantêm suas limitações existentes de sintaxe de fórmula; a correção dos intervalos de alvo não estabelece interoperabilidade externa para fórmulas de validação relativas

Veja também