ExcelScript.DataValidationRule interface

Uma regra de validação de dados contém diferentes tipos de validação de dados. Você só pode usar um deles por vez de acordo com o ExcelScript.DataValidationType.

Propriedades

custom

Critérios de validação de dados personalizados.

date

Critérios de validação de dados de data.

decimal

Critérios de validação de dados decimais.

list

Critérios de validação de dados da lista.

textLength

Critérios de validação de dados de comprimento de texto.

time

Critérios de validação de dados de tempo.

wholeNumber

Critérios de validação de dados de número inteiro.

Detalhes da propriedade

custom

Critérios de validação de dados personalizados.

custom?: CustomDataValidation;

Valor da propriedade

date

Critérios de validação de dados de data.

date?: DateTimeDataValidation;

Valor da propriedade

decimal

Critérios de validação de dados decimais.

decimal?: BasicDataValidation;

Valor da propriedade

list

Critérios de validação de dados da lista.

list?: ListDataValidation;

Valor da propriedade

Exemplos

/**
 * This script creates a dropdown selection list for a cell.
 * It uses the existing values of the selected range as the choices for the list.
 */
function main(workbook: ExcelScript.Workbook) {
    // Get the values for data validation.
    const selectedRange = workbook.getSelectedRange();
    const rangeValues = selectedRange.getValues();

    // Convert the values into a comma-delimited string.
    let dataValidationListString = "";
    rangeValues.forEach((rangeValueRow) => {
        rangeValueRow.forEach((value) => {
            dataValidationListString += value + ",";
        });
    });

    // Clear the old range.
    selectedRange.clear(ExcelScript.ClearApplyTo.contents);

    // Apply the data validation to the first cell in the selected range.
    const targetCell = selectedRange.getCell(0, 0);
    const dataValidation = targetCell.getDataValidation();

    // Set the content of the dropdown list.
    let validationCriteria : ExcelScript.ListDataValidation = {
        inCellDropDown: true,
        source: dataValidationListString
    };
    let validationRule: ExcelScript.DataValidationRule = {
        list: validationCriteria
    };
    dataValidation.setRule(validationRule);
}

textLength

Critérios de validação de dados de comprimento de texto.

textLength?: BasicDataValidation;

Valor da propriedade

time

Critérios de validação de dados de tempo.

time?: DateTimeDataValidation;

Valor da propriedade

wholeNumber

Critérios de validação de dados de número inteiro.

wholeNumber?: BasicDataValidation;

Valor da propriedade

Exemplos

/**
 * This script creates a data validation rule for the range B1:B5.
 * All values in that range must be a positive number.
 * Attempts to enter other values are blocked and an error message appears.
 */
function main(workbook: ExcelScript.Workbook) {
  // Get the range B1:B5 in the active worksheet.
  const currentSheet = workbook.getActiveWorksheet();
  const positiveNumberOnlyCells = currentSheet.getRange("B1:B5");

  // Create a data validation rule to only allow positive numbers.
  const positiveNumberValidation: ExcelScript.BasicDataValidation = {
    formula1: "0",
    operator: ExcelScript.DataValidationOperator.greaterThan
  };
  const positiveNumberOnlyRule: ExcelScript.DataValidationRule = {
    wholeNumber: positiveNumberValidation
  };

  // Set the rule on the range.
  const rangeDataValidation = positiveNumberOnlyCells.getDataValidation();
  rangeDataValidation.setRule(positiveNumberOnlyRule);

  // Create an alert to appear when data other than positive numbers are entered.
  const positiveNumberOnlyAlert: ExcelScript.DataValidationErrorAlert = {
    message: "Positive numbers only",
    showAlert: true,
    style: ExcelScript.DataValidationAlertStyle.stop,
    title: "Invalid data"
  };
  rangeDataValidation.setErrorAlert(positiveNumberOnlyAlert);
}