Excel.WorksheetChangedEventArgs interface

変更されたイベントを発生させたワークシートに関する情報を提供します。

注釈

[ API セット: ExcelApi 1.7 ]

プロパティ

address

特定のワークシートで変更されたエリアを表す範囲のアドレスを取得します。

changeDirectionState

セルまたはセルが削除または挿入されたときにワークシート内のセルがシフトする方向への変更を表します。 これには、次の 2 つのシナリオが含まれます。 1. 新しいセルまたはセルがワークシートに挿入されたときに既存のセルがシフトする方向 (下や右など)。 2. セルまたはセルがワークシートから削除されたときに残りのセルがシフトする方向 (上または左など)。

changeType

変更されたイベントのトリガー方法を表す変更の種類を取得します。 詳細は「Excel.DataChangeType」をご覧ください。

details

変更の詳細に関する情報を表します。 このプロパティは、変更されたイベントが 1 つのセルでトリガーされたときに取得できます。 変更されたイベントが複数のセルでトリガーされた場合、このプロパティを取得できません。

source

イベントのソースを取得します。 詳細は「Excel.EventSource」をご覧ください。

triggerSource

イベントのトリガー ソースを表します。 たとえば、このローカル アドインがイベントをトリガーするかどうかを識別します。

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 ]

changeDirectionState

セルまたはセルが削除または挿入されたときにワークシート内のセルがシフトする方向への変更を表します。 これには、次の 2 つのシナリオが含まれます。 1. 新しいセルまたはセルがワークシートに挿入されたときに既存のセルがシフトする方向 (下や右など)。 2. セルまたはセルがワークシートから削除されたときに残りのセルがシフトする方向 (上または左など)。

changeDirectionState: Excel.ChangeDirectionState;

プロパティ値

注釈

[ API セット: ExcelApi 1.14 ]

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

async function onChange(event: Excel.WorksheetChangedEventArgs) {
    // This function is an event handler that returns the address, trigger source, 
    // and insert or delete shift directions of the change.
    await Excel.run(async (context) => {
        // Return the address where change occurred.
        console.log(`Handler for worksheet onChanged event has been triggered.`);
        console.log(`    Data changed address: ` + event.address);

        // Return the source of the event that triggered the change.
        console.log(`    Data change trigger source: ` + event.triggerSource);

        // Note:insertShiftDirection and deleteShiftDirection are exclusive and both enums can't have a value at the same time. 
        // If one has a value, then the other will return undefined.

        // If the insert shift direction is defined, return it.
        if (event.changeDirectionState.insertShiftDirection) {
            console.log(`    Cells inserted shift direction: ` + event.changeDirectionState.insertShiftDirection);
        }

        // If the delete shift direction is defined, return it.
        if (event.changeDirectionState.deleteShiftDirection) {
            console.log(`    Cells deleted shift direction: ` + event.changeDirectionState.deleteShiftDirection);
        }
    });
}  

...

// This function deletes data from a range and sets the delete shift direction to "up".
await Excel.run(async (context) => {
    const sheet = context.workbook.worksheets.getItem("Sample");
    const range = sheet.getRange("A5:F5");
    range.delete(Excel.DeleteShiftDirection.up);
});

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

変更の詳細に関する情報を表します。 このプロパティは、変更されたイベントが 1 つのセルでトリガーされたときに取得できます。 変更されたイベントが複数のセルでトリガーされた場合、このプロパティを取得できません。

details: Excel.ChangedEventDetail;

プロパティ値

注釈

[ API セット: ExcelApi 1.9 ]

// This function would be used as an event handler for the Worksheet.onChanged event.
async function onWorksheetChanged(eventArgs) {
    await Excel.run(async (context) => {
        const details = eventArgs.details;
        const address = eventArgs.address;

        // Print the before and after types and values to the console.
        console.log(`Change at ${address}: was ${details.valueBefore}(${details.valueTypeBefore}),`
            + ` now is ${details.valueAfter}(${details.valueTypeAfter})`);
        await context.sync();
    });
}

source

イベントのソースを取得します。 詳細は「Excel.EventSource」をご覧ください。

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

プロパティ値

Excel.EventSource | "Local" | "Remote"

注釈

[ API セット: ExcelApi 1.7 ]

triggerSource

イベントのトリガー ソースを表します。 たとえば、このローカル アドインがイベントをトリガーするかどうかを識別します。

triggerSource: Excel.EventTriggerSource | "Unknown" | "ThisLocalAddin";

プロパティ値

Excel.EventTriggerSource | "Unknown" | "ThisLocalAddin"

注釈

[ API セット: ExcelApi 1.14 ]

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

async function onChange(event: Excel.WorksheetChangedEventArgs) {
    // This function is an event handler that returns the address, trigger source, 
    // and insert or delete shift directions of the change.
    await Excel.run(async (context) => {
        // Return the address where change occurred.
        console.log(`Handler for worksheet onChanged event has been triggered.`);
        console.log(`    Data changed address: ` + event.address);

        // Return the source of the event that triggered the change.
        console.log(`    Data change trigger source: ` + event.triggerSource);

        // Note:insertShiftDirection and deleteShiftDirection are exclusive and both enums can't have a value at the same time. 
        // If one has a value, then the other will return undefined.

        // If the insert shift direction is defined, return it.
        if (event.changeDirectionState.insertShiftDirection) {
            console.log(`    Cells inserted shift direction: ` + event.changeDirectionState.insertShiftDirection);
        }

        // If the delete shift direction is defined, return it.
        if (event.changeDirectionState.deleteShiftDirection) {
            console.log(`    Cells deleted shift direction: ` + event.changeDirectionState.deleteShiftDirection);
        }
    });
}  

type

イベントの種類を取得します。 詳細は「Excel.EventType」をご覧ください。

type: "WorksheetChanged";

プロパティ値

"WorksheetChanged"

注釈

[ API セット: ExcelApi 1.7 ]

worksheetId

データが変更されたワークシートの ID を取得します。

worksheetId: string;

プロパティ値

string

注釈

[ API セット: ExcelApi 1.7 ]

メソッドの詳細

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;

パラメーター

戻り値