Excel.DataValidation class

現在の範囲に適用されるデータの入力規則を表します。 データ入力規則オブジェクト モデルの詳細については、「Excel 範囲にデータ入力規則を追加するを参照してください。

Extends

注釈

API セット: ExcelApi 1.8

使用元

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/22-data-validation/data-validation-types.yaml

function applyWholeNumber(sheet: Excel.Worksheet) {
    // Only integers greater than 0 are allowed.
    const basicRule: Excel.BasicDataValidation = {
        formula1: 0,
        operator: Excel.DataValidationOperator.greaterThan
    };
    const rule: Excel.DataValidationRule = { wholeNumber: basicRule };
    sheet.getRange("B2").dataValidation.rule = rule;
}

プロパティ

context

オブジェクトに関連付けられている要求コンテキスト。 これにより、アドインのプロセスが Office ホスト アプリケーションのプロセスに接続されます。

errorAlert

無効なデータが入力された場合のエラー警告。

ignoreBlanks

データの入力規則を空白セルで実行するかどうかを指定します。 既定値は true です。

prompt

ユーザーがセルを選択するとプロンプトが表示されます。

rule

異なる種類のデータ入力規則を含む入力規則。

type

データ入力規則の種類については、「 Excel.DataValidationType 」を参照してください。

valid

すべてのセルの値がデータの入力規則に従っているかどうかを表します。 すべてのセル値が有効な場合は true を返し、すべてのセル値が無効な場合は false を返します。 範囲内に有効なセル値と無効なセル値の両方が存在する場合は null を返します。

メソッド

clear()

現在の範囲からデータの入力規則をクリアします。

getInvalidCells()

無効なセル値を持つ 1 つ以上の四角形の範囲から成る RangeAreas オブジェクトを返します。 すべてのセル値が有効な場合、この関数は ItemNotFound エラーをスローします。

getInvalidCellsOrNullObject()

無効なセル値を持つ 1 つ以上の四角形の範囲から成る RangeAreas オブジェクトを返します。 すべてのセル値が有効な場合、この関数は null を返します。

load(options)

オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync() を呼び出す必要があります。

load(propertyNames)

オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync() を呼び出す必要があります。

load(propertyNamesAndPaths)

オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync() を呼び出す必要があります。

set(properties, options)

オブジェクトの複数のプロパティを同時に設定します。 適切なプロパティを持つプレーン オブジェクト、または同じ型の別の API オブジェクトを渡すことができます。

set(properties)

既存の読み込まれたオブジェクトに基づいて、オブジェクトに複数のプロパティを同時に設定します。

toJSON()

API オブジェクトが JSON.stringify() に渡されるときに、より有用な出力を提供するために、JavaScript toJSON() メソッドをオーバーライドします。 (次に、JSON.stringify渡されたオブジェクトの toJSON メソッドを呼び出します)。元の Excel.DataValidation オブジェクトが API オブジェクトであるのに対し、 toJSON メソッドは、元のオブジェクトから読み込まれた子プロパティの浅いコピーを含むプレーンな JavaScript オブジェクト ( Excel.Interfaces.DataValidationData と型指定) を返します。

プロパティの詳細

context

オブジェクトに関連付けられている要求コンテキスト。 これにより、アドインのプロセスが Office ホスト アプリケーションのプロセスに接続されます。

context: RequestContext;

プロパティ値

errorAlert

無効なデータが入力された場合のエラー警告。

errorAlert: Excel.DataValidationErrorAlert;

プロパティ値

注釈

API セット: ExcelApi 1.8

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/22-data-validation/data-validation.yaml

await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Decision");
    const commentsRange = 
        sheet.tables.getItem("NameOptionsTable").columns.getItem("Comments").getDataBodyRange();

    // When you are developing, it is a good practice to
    // clear the dataValidation object with each run of your code.
    commentsRange.dataValidation.clear();   

    // If the value of A2 is contained in the value of C2, then 
    // SEARCH(A2,C2) returns the number where it begins. Otherwise,
    // it does not return a number.
    let redundantStringRule = {
        custom: {
            formula: "=NOT(ISNUMBER(SEARCH(A2,C2)))"
        }
    };
    commentsRange.dataValidation.rule = redundantStringRule;
    commentsRange.dataValidation.errorAlert = {
        message: "It is redundant to include the baby name in the comment.",
        showAlert: true,
        style: Excel.DataValidationAlertStyle.information,
        title: "Baby Name in Comment"
    };

    await context.sync();
});

ignoreBlanks

データの入力規則を空白セルで実行するかどうかを指定します。 既定値は true です。

ignoreBlanks: boolean;

プロパティ値

boolean

注釈

API セット: ExcelApi 1.8

prompt

ユーザーがセルを選択するとプロンプトが表示されます。

prompt: Excel.DataValidationPrompt;

プロパティ値

注釈

API セット: ExcelApi 1.8

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/22-data-validation/data-validation.yaml

await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Decision");
    const rankingRange = sheet.tables.getItem("NameOptionsTable").columns.getItem("Ranking").getDataBodyRange();

    // When you are developing, it is a good practice to
    // clear the dataValidation object with each run of your code.
    rankingRange.dataValidation.clear();

    let greaterThanZeroRule = {
        wholeNumber: {
            formula1: 0,
            operator: Excel.DataValidationOperator.greaterThan
        }
    };
    rankingRange.dataValidation.rule = greaterThanZeroRule;

    rankingRange.dataValidation.prompt = {
        message: "Please enter a positive number.",
        showPrompt: true,
        title: "Positive numbers only."
    };

    rankingRange.dataValidation.errorAlert = {
        message: "Sorry, only positive numbers are allowed",
        showAlert: true,
        style: Excel.DataValidationAlertStyle.stop,
        title: "Negative Number Entered"
    };

    await context.sync();
});

rule

異なる種類のデータ入力規則を含む入力規則。

rule: Excel.DataValidationRule;

プロパティ値

注釈

API セット: ExcelApi 1.8

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/22-data-validation/data-validation.yaml

await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Decision");
    const nameRange = 
        sheet.tables.getItem("NameOptionsTable").columns.getItem("Baby Name").getDataBodyRange();

    // When you are developing, it is a good practice to
    // clear the dataValidation object with each run of your code.
    nameRange.dataValidation.clear();

    const nameSourceRange = context.workbook.worksheets.getItem("Names").getRange("A1:A3");

    let approvedListRule = {
        list: {
            inCellDropDown: true,
            source: nameSourceRange
        }
    };
    nameRange.dataValidation.rule = approvedListRule;

    await context.sync();
});

type

データ入力規則の種類については、「 Excel.DataValidationType 」を参照してください。

readonly type: Excel.DataValidationType | "None" | "WholeNumber" | "Decimal" | "List" | "Date" | "Time" | "TextLength" | "Custom" | "Inconsistent" | "MixedCriteria";

プロパティ値

Excel.DataValidationType | "None" | "WholeNumber" | "Decimal" | "List" | "Date" | "Time" | "TextLength" | "Custom" | "Inconsistent" | "MixedCriteria"

注釈

API セット: ExcelApi 1.8

valid

すべてのセルの値がデータの入力規則に従っているかどうかを表します。 すべてのセル値が有効な場合は true を返し、すべてのセル値が無効な場合は false を返します。 範囲内に有効なセル値と無効なセル値の両方が存在する場合は null を返します。

readonly valid: boolean;

プロパティ値

boolean

注釈

API セット: ExcelApi 1.8

メソッドの詳細

clear()

現在の範囲からデータの入力規則をクリアします。

clear(): void;

返品

void

注釈

API セット: ExcelApi 1.8

getInvalidCells()

無効なセル値を持つ 1 つ以上の四角形の範囲から成る RangeAreas オブジェクトを返します。 すべてのセル値が有効な場合、この関数は ItemNotFound エラーをスローします。

getInvalidCells(): Excel.RangeAreas;

返品

注釈

API セット: ExcelApi 1.9

getInvalidCellsOrNullObject()

無効なセル値を持つ 1 つ以上の四角形の範囲から成る RangeAreas オブジェクトを返します。 すべてのセル値が有効な場合、この関数は null を返します。

getInvalidCellsOrNullObject(): Excel.RangeAreas;

返品

注釈

API セット: ExcelApi 1.9

load(options)

オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync() を呼び出す必要があります。

load(options?: Excel.Interfaces.DataValidationLoadOptions): Excel.DataValidation;

パラメーター

options
Excel.Interfaces.DataValidationLoadOptions

読み込むオブジェクトのプロパティのオプションを指定します。

返品

load(propertyNames)

オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync() を呼び出す必要があります。

load(propertyNames?: string | string[]): Excel.DataValidation;

パラメーター

propertyNames

string | string[]

読み込むプロパティを指定するコンマ区切りの文字列または文字列の配列。

返品

load(propertyNamesAndPaths)

オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync() を呼び出す必要があります。

load(propertyNamesAndPaths?: {
            select?: string;
            expand?: string;
        }): Excel.DataValidation;

パラメーター

propertyNamesAndPaths

{ select?: string; expand?: string; }

propertyNamesAndPaths.select は読み込むプロパティを指定するコンマ区切りの文字列であり、 propertyNamesAndPaths.expand は読み込むナビゲーションのプロパティを指定するコンマ区切りの文字列です。

返品

set(properties, options)

オブジェクトの複数のプロパティを同時に設定します。 適切なプロパティを持つプレーン オブジェクト、または同じ型の別の API オブジェクトを渡すことができます。

set(properties: Interfaces.DataValidationUpdateData, options?: OfficeExtension.UpdateOptions): void;

パラメーター

properties
Excel.Interfaces.DataValidationUpdateData

メソッドが呼び出されたオブジェクトのプロパティと同型構造のプロパティを持つ JavaScript オブジェクト。

options
OfficeExtension.UpdateOptions

プロパティ オブジェクトが読み取り専用プロパティを設定しようとした場合にエラーを抑制するオプションを提供します。

返品

void

set(properties)

既存の読み込まれたオブジェクトに基づいて、オブジェクトに複数のプロパティを同時に設定します。

set(properties: Excel.DataValidation): void;

パラメーター

返品

void

toJSON()

API オブジェクトが JSON.stringify() に渡されるときに、より有用な出力を提供するために、JavaScript toJSON() メソッドをオーバーライドします。 (次に、JSON.stringify渡されたオブジェクトの toJSON メソッドを呼び出します)。元の Excel.DataValidation オブジェクトが API オブジェクトであるのに対し、 toJSON メソッドは、元のオブジェクトから読み込まれた子プロパティの浅いコピーを含むプレーンな JavaScript オブジェクト ( Excel.Interfaces.DataValidationData と型指定) を返します。

toJSON(): Excel.Interfaces.DataValidationData;

返品