Excel.NamedItem class

表示单元格区域或值的定义名称。 名称可以是基元命名对象 (,如下面的类型) 、范围对象或对区域的引用所示。 此对象可用于获取与名称相关的 range 对象。

扩展

注解

[ 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

指定名称的范围是工作簿还是特定工作表。 可能的值为:Worksheet、Workbook。

type

指定名称公式返回的值的类型。 有关详细信息,请参阅 Excel.NamedItemType

value

表示 name 公式计算出的值。 对于命名区域,它将返回范围地址。 此 API 返回 #VALUE! 如果 Excel UI 引用用户定义的函数,则为错误。

valueAsJson

此命名项中值的 JSON 表示形式。 与 不同 NamedItem.valueNamedItem.valueAsJson 支持可在单元格中的所有数据类型。 示例包括格式化的数字值和 Web 图像,以及标准布尔值、数字值和字符串值。 从此 API 返回的数据始终与 en-US 区域设置一致。 若要检索用户的显示区域设置中的数据,请使用 NamedItem.valueAsJsonLocal

valueAsJsonLocal

此命名项中值的 JSON 表示形式。 与 不同 NamedItem.valueNamedItem.valueAsJsonLocal 支持可在单元格中的所有数据类型。 示例包括格式化的数字值和 Web 图像,以及标准布尔值、数字值和字符串值。 从此 API 返回的数据始终与用户的显示区域设置保持一致。 若要检索独立于区域设置的数据,请使用 NamedItem.valueAsJson

visible

指定对象是否可见。

worksheet

返回已命名项限定到的工作表。 如果项目的范围改为工作簿,则引发错误。

worksheetOrNullObject

返回指定项的范围所指向的工作表。 如果项目的范围改为工作簿,则此方法返回一个 对象,其 isNullObject 属性设置为 true。 有关详细信息,请参阅 *OrNullObject 方法和属性

方法

delete()

删除给定的名称。

getRange()

返回与名称相关联的 Range 对象。 如果已命名项的类型不是 Range,将引发错误。

getRangeOrNullObject()

返回与名称相关的 range 对象。 如果命名项的类型不是范围,则此方法返回其属性设置为 true的对象isNullObject。 有关详细信息,请参阅 *OrNullObject 方法和属性

load(options)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNames)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

load(propertyNamesAndPaths)

将命令加入队列以加载对象的指定属性。 阅读属性前必须先调用 context.sync()

set(properties, options)

同时设置对象的多个属性。 可以传递具有相应属性的纯对象,也可以传递同一类型的另一个 API 对象。

set(properties)

基于现有的已加载对象,同时对对象设置多个属性。

toJSON()

重写 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 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

指定名称的范围是工作簿还是特定工作表。 可能的值为:Worksheet、Workbook。

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 集:ExcelApi 1.1 for String,Integer,Double,Boolean,Range,Error;1.7 for Array ]

value

表示 name 公式计算出的值。 对于命名区域,它将返回范围地址。 此 API 返回 #VALUE! 如果 Excel UI 引用用户定义的函数,则为错误。

readonly value: any;

属性值

any

注解

[ API 集:ExcelApi 1.1 ]

valueAsJson

此命名项中值的 JSON 表示形式。 与 不同 NamedItem.valueNamedItem.valueAsJson 支持可在单元格中的所有数据类型。 示例包括格式化的数字值和 Web 图像,以及标准布尔值、数字值和字符串值。 从此 API 返回的数据始终与 en-US 区域设置一致。 若要检索用户的显示区域设置中的数据,请使用 NamedItem.valueAsJsonLocal

readonly valueAsJson: CellValue | string;

属性值

Excel.CellValue | string

注解

[ API 集:ExcelApi 1.16 ]

valueAsJsonLocal

此命名项中值的 JSON 表示形式。 与 不同 NamedItem.valueNamedItem.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()

返回与名称相关联的 Range 对象。 如果已命名项的类型不是 Range,将引发错误。

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()

返回与名称相关的 range 对象。 如果命名项的类型不是范围,则此方法返回其属性设置为 true的对象isNullObject。 有关详细信息,请参阅 *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()

重写 JavaScript toJSON() 方法,以便在将 API 对象传递给 JSON.stringify()时提供更有用的输出。 JSON.stringify (,反过来又调用toJSON传递给它的 对象的 方法。) 而原始Excel.NamedItem对象是 API 对象,toJSON该方法返回一个纯 JavaScript 对象, (类型为 Excel.Interfaces.NamedItemData) ,其中包含原始对象中任何已加载子属性的浅表副本。

toJSON(): Excel.Interfaces.NamedItemData;

返回