Excel.TableChangedEventArgs interface

提供有关引发已更改事件的表的信息。

属性

address

获取地址,该地址表示特定工作表上的表格的更改区域。

changeType

获取表示更改事件的触发方式的更改类型。 有关详细信息,请参阅 Excel.DataChangeType

details

获取有关更改详细信息的信息。 在单个单元格上触发更改事件时,可以检索此属性。 如果在多个单元格上触发了已更改的事件,则无法检索此属性。

source

获取事件源。 有关详细信息,请参阅 Excel.EventSource

tableId

获取数据更改的表的 ID。

type

获取事件的类型。 有关详细信息,请参阅 Excel.EventType

worksheetId

获取数据更改的工作表的 ID。

方法

getRange(ctx)

获取表示特定工作表上表格已更改区域的区域的区域。

API 集:ExcelApi 1.8

getRangeOrNullObject(ctx)

获取表示特定工作表上表格已更改区域的区域的区域。 它可能会返回 null 对象。

API 集:ExcelApi 1.8

属性详细信息

address

获取地址,该地址表示特定工作表上的表格的更改区域。

address: string;

属性值

string

注解

API 集:ExcelApi 1.7

changeType

获取表示更改事件的触发方式的更改类型。 有关详细信息,请参阅 Excel.DataChangeType

changeType: Excel.DataChangeType | "Unknown" | "RangeEdited" | "RowInserted" | "RowDeleted" | "ColumnInserted" | "ColumnDeleted" | "CellInserted" | "CellDeleted";

属性值

Excel.DataChangeType | "Unknown" | "RangeEdited" | "RowInserted" | "RowDeleted" | "ColumnInserted" | "ColumnDeleted" | "CellInserted" | "CellDeleted"

注解

API 集:ExcelApi 1.7

details

获取有关更改详细信息的信息。 在单个单元格上触发更改事件时,可以检索此属性。 如果在多个单元格上触发了已更改的事件,则无法检索此属性。

details: Excel.ChangedEventDetail;

属性值

注解

API 集:ExcelApi 1.9

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/30-events/data-change-event-details.yaml

async function onTableChanged(eventArgs: Excel.TableChangedEventArgs) {
    await Excel.run(async (context) => {
        const details = eventArgs.details;
        const address = eventArgs.address;

        console.log(`Change at ${address}: was ${details.valueBefore}(${details.valueTypeBefore}),`
          + ` now is ${details.valueAfter}(${details.valueTypeAfter})`);
    });
}

source

获取事件源。 有关详细信息,请参阅 Excel.EventSource

source: Excel.EventSource | "Local" | "Remote";

属性值

Excel.EventSource | "Local" | "Remote"

注解

API 集:ExcelApi 1.7

tableId

获取数据更改的表的 ID。

tableId: string;

属性值

string

注解

API 集:ExcelApi 1.7

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/30-events/events-tablecollection-changed.yaml

async function onChange(event) {
    await Excel.run(async (context) => {
        let table = context.workbook.tables.getItem(event.tableId);
        let worksheet = context.workbook.worksheets.getItem(event.worksheetId);
        worksheet.load("name");

        await context.sync();

        console.log("Handler for table collection onChanged event has been triggered. Data changed address: " + event.address);
        console.log("Table Id : " + event.tableId);
        console.log("Worksheet Id : " + worksheet.name);
    });
}

type

获取事件的类型。 有关详细信息,请参阅 Excel.EventType

type: "TableChanged";

属性值

"TableChanged"

注解

API 集:ExcelApi 1.7

worksheetId

获取数据更改的工作表的 ID。

worksheetId: string;

属性值

string

注解

API 集:ExcelApi 1.7

示例

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/excel/30-events/events-tablecollection-changed.yaml

async function onChange(event) {
    await Excel.run(async (context) => {
        let table = context.workbook.tables.getItem(event.tableId);
        let worksheet = context.workbook.worksheets.getItem(event.worksheetId);
        worksheet.load("name");

        await context.sync();

        console.log("Handler for table collection onChanged event has been triggered. Data changed address: " + event.address);
        console.log("Table Id : " + event.tableId);
        console.log("Worksheet Id : " + worksheet.name);
    });
}

方法详细信息

getRange(ctx)

获取表示特定工作表上表格已更改区域的区域的区域。

API 集:ExcelApi 1.8

getRange(ctx: Excel.RequestContext): Excel.Range;

参数

返回

getRangeOrNullObject(ctx)

获取表示特定工作表上表格已更改区域的区域的区域。 它可能会返回 null 对象。

API 集:ExcelApi 1.8

getRangeOrNullObject(ctx: Excel.RequestContext): Excel.Range;

参数

返回