Excel.TableChangedEventArgs interface

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

注解

[ API 集:ExcelApi 1.7 ]

属性

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;

参数

返回