次の方法で共有


Excel.DataValidation class

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

Extends

注釈

[ API セット: ExcelApi 1.8 ]

プロパティ

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: "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: "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

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

戻り値

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;

戻り値