Excel.WorksheetChangedEventArgs interface
変更されたイベントを発生させたワークシートに関する情報を提供します。
注釈
プロパティ
address | 特定のワークシートで変更されたエリアを表す範囲のアドレスを取得します。 |
change |
セルまたはセルが削除または挿入されたときにワークシート内のセルがシフトする方向への変更を表します。 これには、次の 2 つのシナリオが含まれます。 1. 新しいセルまたはセルがワークシートに挿入されたときに既存のセルがシフトする方向 (下や右など)。 2. セルまたはセルがワークシートから削除されたときに残りのセルがシフトする方向 (上または左など)。 |
change |
変更されたイベントのトリガー方法を表す変更の種類を取得します。 詳細は「 |
details | 変更の詳細に関する情報を表します。 このプロパティは、変更されたイベントが 1 つのセルでトリガーされたときに取得できます。 変更されたイベントが複数のセルでトリガーされた場合、このプロパティを取得できません。 |
source | イベントのソースを取得します。 詳細は「 |
trigger |
イベントのトリガー ソースを表します。 たとえば、このローカル アドインがイベントをトリガーするかどうかを識別します。 |
type | イベントの種類を取得します。 詳細は「 |
worksheet |
データが変更されたワークシートの ID を取得します。 |
メソッド
get |
特定のワークシートで変更されたエリアを表す範囲を取得します。 |
get |
特定のワークシートで変更されたエリアを表す範囲を取得します。 null オブジェクトを返すこともあります。 |
プロパティの詳細
address
changeDirectionState
セルまたはセルが削除または挿入されたときにワークシート内のセルがシフトする方向への変更を表します。 これには、次の 2 つのシナリオが含まれます。 1. 新しいセルまたはセルがワークシートに挿入されたときに既存のセルがシフトする方向 (下や右など)。 2. セルまたはセルがワークシートから削除されたときに残りのセルがシフトする方向 (上または左など)。
changeDirectionState: Excel.ChangeDirectionState;
プロパティ値
注釈
例
// 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"
注釈
details
変更の詳細に関する情報を表します。 このプロパティは、変更されたイベントが 1 つのセルでトリガーされたときに取得できます。 変更されたイベントが複数のセルでトリガーされた場合、このプロパティを取得できません。
details: Excel.ChangedEventDetail;
プロパティ値
注釈
例
// 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"
注釈
triggerSource
イベントのトリガー ソースを表します。 たとえば、このローカル アドインがイベントをトリガーするかどうかを識別します。
triggerSource: Excel.EventTriggerSource | "Unknown" | "ThisLocalAddin";
プロパティ値
Excel.EventTriggerSource | "Unknown" | "ThisLocalAddin"
注釈
例
// 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"
注釈
worksheetId
メソッドの詳細
getRange(ctx)
特定のワークシートで変更されたエリアを表す範囲を取得します。
getRange(ctx: Excel.RequestContext): Excel.Range;
パラメーター
戻り値
getRangeOrNullObject(ctx)
特定のワークシートで変更されたエリアを表す範囲を取得します。 null オブジェクトを返すこともあります。
getRangeOrNullObject(ctx: Excel.RequestContext): Excel.Range;
パラメーター
戻り値
Office Add-ins