Class DataValidation

DataValidation

データの入力規則にアクセスします。新しいルールを作成するには、SpreadsheetApp.newDataValidation()DataValidationBuilder を使用します。Range.setDataValidation(rule) を使用すると、範囲の検証ルールを設定できます。

// Log information about the data validation rule for cell A1.
var cell = SpreadsheetApp.getActive().getRange('A1');
var rule = cell.getDataValidation();
if (rule != null) {
  var criteria = rule.getCriteriaType();
  var args = rule.getCriteriaValues();
  Logger.log('The data validation rule is %s %s', criteria, args);
} else {
  Logger.log('The cell does not have a data validation rule.')
}

Methods

メソッド戻り値の型概要
copy()DataValidationBuilderこのルールの設定に基づいて、データ入力規則のビルダーを作成します。
getAllowInvalid()Booleanルールが入力データの検証に失敗した場合に警告を表示する場合は true を返し、入力を完全に拒否する場合は false を返します。
getCriteriaType()DataValidationCriteriaDataValidationCriteria 列挙型で定義されているルールの条件タイプを取得します。
getCriteriaValues()Object[]ルールの条件に対応する引数の配列を取得します。
getHelpText()Stringルールのヘルプテキストを取得します。ヘルプテキストが設定されていない場合は null を取得します。

詳細なドキュメント

copy()

このルールの設定に基づいて、データ入力規則のビルダーを作成します。

// Change existing data validation rules that require a date in 2013 to require a date in 2014.
var oldDates = [new Date('1/1/2013'), new Date('12/31/2013')];
var newDates = [new Date('1/1/2014'), new Date('12/31/2014')];
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns());
var rules = range.getDataValidations();

for (var i = 0; i < rules.length; i++) {
  for (var j = 0; j < rules[i].length; j++) {
    var rule = rules[i][j];

    if (rule != null) {
      var criteria = rule.getCriteriaType();
      var args = rule.getCriteriaValues();

      if (criteria == SpreadsheetApp.DataValidationCriteria.DATE_BETWEEN
          && args[0].getTime() == oldDates[0].getTime()
          && args[1].getTime() == oldDates[1].getTime()) {
        // Create a builder from the existing rule, then change the dates.
        rules[i][j] = rule.copy().withCriteria(criteria, newDates).build();
      }
    }
  }
}
range.setDataValidations(rules);

リターン

DataValidationBuilder - このルールの設定に基づくビルダー


getAllowInvalid()

ルールが入力データの検証に失敗した場合に警告を表示する場合は true を返し、入力を完全に拒否する場合は false を返します。新しいデータの入力規則のデフォルトは true です。

リターン

Boolean - ルールで許可される入力がデータの検証で不合格になる場合は true、そうでない場合は false


getCriteriaType()

DataValidationCriteria 列挙型で定義されているルールの条件タイプを取得します。条件の引数を取得するには、getCriteriaValues() を使用します。これらの値を使用してデータ入力規則を作成または変更する方法については、DataValidationBuilder.withCriteria(criteria, args) をご覧ください。

// Log information about the data validation rule for cell A1.
var cell = SpreadsheetApp.getActive().getRange('A1');
var rule = cell.getDataValidation();
if (rule != null) {
  var criteria = rule.getCriteriaType();
  var args = rule.getCriteriaValues();
  Logger.log('The data validation rule is %s %s', criteria, args);
} else {
  Logger.log('The cell does not have a data validation rule.')
}

リターン

DataValidationCriteria - データの検証条件のタイプ


getCriteriaValues()

ルールの条件に対応する引数の配列を取得します。条件タイプを取得するには、getCriteriaType() を使用します。これらの値を使用してデータ入力規則を作成または変更する方法については、DataValidationBuilder.withCriteria(criteria, args) をご覧ください。

// Log information about the data validation rule for cell A1.
var cell = SpreadsheetApp.getActive().getRange('A1');
var rule = cell.getDataValidation();
if (rule != null) {
  var criteria = rule.getCriteriaType();
  var args = rule.getCriteriaValues();
  Logger.log('The data validation rule is %s %s', criteria, args);
} else {
  Logger.log('The cell does not have a data validation rule.')
}

リターン

Object[] - ルールの条件タイプに適した引数の配列。引数の数とその型は、DataValidationBuilder クラスの対応する require...() メソッドと一致します。


getHelpText()

ルールのヘルプテキストを取得します。ヘルプテキストが設定されていない場合は null を取得します。

リターン

String - ルールのヘルプテキスト。ヘルプテキストが設定されていない場合は null