Excel.NamedItem class

セルまたは値の範囲の定義済みの名前を表します。 名前には、プリミティブの名前付きオブジェクト (以下の型に示すように)、範囲オブジェクト、または範囲への参照を指定できます。 このオブジェクトを使用して、名前に関連付けられた範囲オブジェクトを取得することができます。

Extends

注釈

[ API セット: ExcelApi 1.1 ]

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/34-named-item/create-and-remove-named-item.yaml

await Excel.run(async (context) => {
    // Log all the named items in the active worksheet.
    const namedItems = context.workbook.worksheets.getActiveWorksheet().names.load();
    await context.sync();

    console.log("This worksheet contains " + namedItems.items.length + " named items.");

    for (let i = 0; i < namedItems.items.length; i++) {
        const namedItem : Excel.NamedItem = namedItems.items[i];
        console.log(JSON.stringify(namedItem)) + "\n";
    }

    await context.sync();
});

プロパティ

arrayValues

名前付きアイテムの値と型を含むオブジェクトを返します。

comment

この名前に関連付けられているコメントを指定します。

context

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

formula

名前付き項目の数式。 数式は常に等号 ("=") で始まります。

name

オブジェクトの名前。

scope

名前の範囲をブックまたは特定のワークシートに指定するかどうかを指定します。 使用可能な値は、ワークシート、ブックです。

type

名前の数式によって返される値の型を指定します。 詳細は「Excel.NamedItemType」をご覧ください。

value

名前の数式で計算された値を表します。 名前付き範囲の場合、範囲アドレスが返されます。 この API は、#VALUE を返します。 ユーザー定義関数を参照している場合は、Excel UI でエラーが発生します。

valueAsJson

この名前付き項目内の値の JSON 表現。 NamedItem.value とは異なり、NamedItem.valueAsJsonではセルに含めることができるすべてのデータ型がサポートされます。 たとえば、標準のブール値、数値、および文字列値に加えて、書式設定された数値と Web イメージが含まれます。 この API から返されるデータは、常に en-US ロケールと一致します。 ユーザーの表示ロケールでデータを取得するには、 NamedItem.valueAsJsonLocalを使用します。

valueAsJsonLocal

この名前付き項目内の値の JSON 表現。 NamedItem.value とは異なり、NamedItem.valueAsJsonLocalではセルに含めることができるすべてのデータ型がサポートされます。 たとえば、標準のブール値、数値、および文字列値に加えて、書式設定された数値と Web イメージが含まれます。 この API から返されるデータは、常にユーザーの表示ロケールと一致します。 ロケールに依存しないデータを取得するには、 NamedItem.valueAsJsonを使用します。

visible

オブジェクトが表示されるかどうかを指定します。

worksheet

名前付きのアイテムの対象になるワークシートを返します。 アイテムのスコープがブックの代わりにある場合は、エラーをスローします。

worksheetOrNullObject

名前付き項目のスコープを設定するワークシートを返します。 アイテムのスコープがブックの場合、このメソッドは isNullObject プロパティを true に設定したオブジェクトを返します。 詳細については、「 *OrNullObject メソッドとプロパティ」を参照してください。

メソッド

delete()

指定された名前を削除します。

getRange()

名前に関連付けられている範囲オブジェクトを返します。 名前付きアイテムの型が範囲でない場合、エラーをスローします。

getRangeOrNullObject()

名前に関連付けられている範囲オブジェクトを返します。 名前付き項目の型が範囲でない場合、このメソッドは isNullObject プロパティを true に設定したオブジェクトを返します。 詳細については、「 *OrNullObject メソッドとプロパティ」を参照してください。

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.NamedItem オブジェクトは API オブジェクトですが、 toJSON メソッドは、元のオブジェクトから読み込まれた子プロパティの浅いコピーを含むプレーンな JavaScript オブジェクト ( Excel.Interfaces.NamedItemData として型指定) を返します。

プロパティの詳細

arrayValues

名前付きアイテムの値と型を含むオブジェクトを返します。

readonly arrayValues: Excel.NamedItemArrayValues;

プロパティ値

注釈

[ API セット: ExcelApi 1.7 ]

comment

この名前に関連付けられているコメントを指定します。

comment: string;

プロパティ値

string

注釈

[ API セット: ExcelApi 1.4 ]

context

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

context: RequestContext;

プロパティ値

formula

名前付き項目の数式。 数式は常に等号 ("=") で始まります。

formula: any;

プロパティ値

any

注釈

[ API セット: ExcelApi 1.7 ]

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/34-named-item/update-named-item.yaml

await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Sample");

    // Get the named item
    const myNamedItem = sheet.names.getItemOrNullObject("MyRange");
    myNamedItem.load("name, formula");
    await context.sync();

    if (myNamedItem.isNullObject) {
        console.log(`There is no named item. Create it with "Add named item for a range" first.`);
    } else {                    
        // Update named item to point to the second range
        myNamedItem.formula = "=Sample!$B$10:$D$14";
        sheet.getRange("B10:D14").select();
        await context.sync();

        console.log(`Just updated the named item "${myNamedItem.name}" -- it's now located here: ${myNamedItem.formula}`);
    }
});

name

オブジェクトの名前。

readonly name: string;

プロパティ値

string

注釈

[ API セット: ExcelApi 1.1 ]

scope

名前の範囲をブックまたは特定のワークシートに指定するかどうかを指定します。 使用可能な値は、ワークシート、ブックです。

readonly scope: Excel.NamedItemScope | "Worksheet" | "Workbook";

プロパティ値

Excel.NamedItemScope | "Worksheet" | "Workbook"

注釈

[ API セット: ExcelApi 1.4 ]

type

名前の数式によって返される値の型を指定します。 詳細は「Excel.NamedItemType」をご覧ください。

readonly type: Excel.NamedItemType | "String" | "Integer" | "Double" | "Boolean" | "Range" | "Error" | "Array";

プロパティ値

Excel.NamedItemType | "String" | "Integer" | "Double" | "Boolean" | "Range" | "Error" | "Array"

注釈

[ API set: ExcelApi 1.1 for String,Integer,Double,Boolean,Range,Error; 1.7 for Array ]

value

名前の数式で計算された値を表します。 名前付き範囲の場合、範囲アドレスが返されます。 この API は、#VALUE を返します。 ユーザー定義関数を参照している場合は、Excel UI でエラーが発生します。

readonly value: any;

プロパティ値

any

注釈

[ API セット: ExcelApi 1.1 ]

valueAsJson

この名前付き項目内の値の JSON 表現。 NamedItem.value とは異なり、NamedItem.valueAsJsonではセルに含めることができるすべてのデータ型がサポートされます。 たとえば、標準のブール値、数値、および文字列値に加えて、書式設定された数値と Web イメージが含まれます。 この API から返されるデータは、常に en-US ロケールと一致します。 ユーザーの表示ロケールでデータを取得するには、 NamedItem.valueAsJsonLocalを使用します。

readonly valueAsJson: CellValue | string;

プロパティ値

Excel.CellValue | string

注釈

[ API セット: ExcelApi 1.16 ]

valueAsJsonLocal

この名前付き項目内の値の JSON 表現。 NamedItem.value とは異なり、NamedItem.valueAsJsonLocalではセルに含めることができるすべてのデータ型がサポートされます。 たとえば、標準のブール値、数値、および文字列値に加えて、書式設定された数値と Web イメージが含まれます。 この API から返されるデータは、常にユーザーの表示ロケールと一致します。 ロケールに依存しないデータを取得するには、 NamedItem.valueAsJsonを使用します。

readonly valueAsJsonLocal: CellValue | string;

プロパティ値

Excel.CellValue | string

注釈

[ API セット: ExcelApi 1.16 ]

visible

オブジェクトが表示されるかどうかを指定します。

visible: boolean;

プロパティ値

boolean

注釈

[ API セット: ExcelApi 1.1 ]

worksheet

名前付きのアイテムの対象になるワークシートを返します。 アイテムのスコープがブックの代わりにある場合は、エラーをスローします。

readonly worksheet: Excel.Worksheet;

プロパティ値

注釈

[ API セット: ExcelApi 1.4 ]

worksheetOrNullObject

名前付き項目のスコープを設定するワークシートを返します。 アイテムのスコープがブックの場合、このメソッドは isNullObject プロパティを true に設定したオブジェクトを返します。 詳細については、「 *OrNullObject メソッドとプロパティ」を参照してください。

readonly worksheetOrNullObject: Excel.Worksheet;

プロパティ値

注釈

[ API セット: ExcelApi 1.4 ]

メソッドの詳細

delete()

指定された名前を削除します。

delete(): void;

戻り値

void

注釈

[ API セット: ExcelApi 1.4 ]

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/34-named-item/create-and-remove-named-item.yaml

await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Sample");
    const totalName = sheet.names.getItemOrNullObject("TotalAmount");
    totalName.load();
    await context.sync();

    if (totalName.value) {
        totalName.delete();

        // Replace the named item (TotalAmount) with the actual formula for TotalAmount to avoid displaying #NAME in the cell.
        sheet.getRange("D11").values = [["=SUM(ExpensesTable[AMOUNT])"]];
    } else {
        console.log("No named item created for the formula.");
    }

    await context.sync();
});

getRange()

名前に関連付けられている範囲オブジェクトを返します。 名前付きアイテムの型が範囲でない場合、エラーをスローします。

getRange(): Excel.Range;

戻り値

注釈

[ API セット: ExcelApi 1.1 ]

// Returns the Range object that is associated with the name.
// Returns `null` if the name is not of type Range.
// Note: This API currently supports only the Workbook scoped items.
await Excel.run(async (context) => { 
    const names = context.workbook.names;
    const range = names.getItem('MyRange').getRange();
    range.load('address');
    await context.sync();

    console.log(range.address);
});

getRangeOrNullObject()

名前に関連付けられている範囲オブジェクトを返します。 名前付き項目の型が範囲でない場合、このメソッドは isNullObject プロパティを true に設定したオブジェクトを返します。 詳細については、「 *OrNullObject メソッドとプロパティ」を参照してください。

getRangeOrNullObject(): Excel.Range;

戻り値

注釈

[ API セット: ExcelApi 1.4 ]

load(options)

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

load(options?: Excel.Interfaces.NamedItemLoadOptions): Excel.NamedItem;

パラメーター

options
Excel.Interfaces.NamedItemLoadOptions

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

戻り値

load(propertyNames)

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

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

パラメーター

propertyNames

string | string[]

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

戻り値

await Excel.run(async (context) => { 
    const names = context.workbook.names;
    const namedItem = names.getItem('MyRange');
    namedItem.load('type');
    await context.sync();
    
    console.log(namedItem.type);
});

load(propertyNamesAndPaths)

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

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

パラメーター

propertyNamesAndPaths

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

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

戻り値

set(properties, options)

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

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

パラメーター

properties
Excel.Interfaces.NamedItemUpdateData

メソッドが呼び出されるオブジェクトのプロパティに等形的に構造化されたプロパティを持つ JavaScript オブジェクト。

options
OfficeExtension.UpdateOptions

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

戻り値

void

set(properties)

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

set(properties: Excel.NamedItem): void;

パラメーター

properties
Excel.NamedItem

戻り値

void

toJSON()

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

toJSON(): Excel.Interfaces.NamedItemData;

戻り値