Excel.LinkedEntityDataDomainCollection class
LinkedEntityDataDomain オブジェクトのコレクションを表します。 コレクションには、Bing や Power BI などのサービス データ プロバイダーによって定義された株式、地理、通貨などのリンクされたエンティティ データ ドメイン、または Office アドインによって定義されたリンクされたエンティティ データ ドメインを含めることができます。
- Extends
注釈
使用元
例
// Registers linked entity data domains when the add-in loads.
await Excel.run(async (context) => {
const productsDomainOptions: Excel.LinkedEntityDataDomainCreateOptions = {
dataProvider: "Contoso",
id: "products",
name: "Products",
// ID of the custom function called by Excel to resolve or refresh linked entity cell values.
loadFunctionId: "CONTOSOLOADSERVICE",
// periodicRefreshInterval is only required when supportedRefreshModes contains "Periodic".
periodicRefreshInterval: 300,
// Manual refresh mode is always supported, even if unspecified.
supportedRefreshModes: [
Excel.LinkedEntityDataDomainRefreshMode.periodic,
Excel.LinkedEntityDataDomainRefreshMode.onLoad
]
};
// Add the data domain to the collection to register it.
const domains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
domains.add(productsDomainOptions);
await context.sync();
});
プロパティ
| context | オブジェクトに関連付けられている要求コンテキスト。 これにより、アドインのプロセスが Office ホスト アプリケーションのプロセスに接続されます。 |
| items | このコレクション内に読み込まれた子アイテムを取得します。 |
メソッド
| add(options) | Office アドインによって定義されたリンクされたエンティティ データ ドメイン オブジェクトをコレクションに追加します。 リンクされたエンティティ データ ドメインが追加されると、それを使用して |
| get |
コレクション内のリンクされたエンティティ データ ドメインの数を取得します。 |
| get |
リンクされたエンティティ データ ドメインをその |
| get |
コレクション内のインデックスによって、リンクされたエンティティ データ ドメインを取得します。 |
| get |
リンクされたエンティティ データ ドメインをその |
| get |
リンクされたエンティティ データ ドメインをその |
| get |
リンクされたエンティティ データ ドメインをその |
| load(options) | オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、 |
| load(property |
オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、 |
| load(property |
オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、 |
| refresh |
このコレクション内のリンクされているすべてのエンティティ データ ドメインのすべての |
| toJSON() | API オブジェクトが |
イベント
| on |
新しいリンクされたエンティティ データ ドメインがブックに追加されたときに発生します。 |
| on |
リンクされたエンティティ データ ドメインの |
| on |
リンクされたエンティティ データ ドメインの |
プロパティの詳細
context
オブジェクトに関連付けられている要求コンテキスト。 これにより、アドインのプロセスが Office ホスト アプリケーションのプロセスに接続されます。
context: RequestContext;
プロパティ値
items
このコレクション内に読み込まれた子アイテムを取得します。
readonly items: Excel.LinkedEntityDataDomain[];
プロパティ値
メソッドの詳細
add(options)
Office アドインによって定義されたリンクされたエンティティ データ ドメイン オブジェクトをコレクションに追加します。 リンクされたエンティティ データ ドメインが追加されると、それを使用して LinkedEntityCellValue オブジェクトを作成できます。
add(options: Excel.LinkedEntityDataDomainCreateOptions): void;
パラメーター
追加するリンクされたエンティティ データ ドメインを作成するために使用されるオプション。
返品
void
注釈
例
// Registers linked entity data domains when the add-in loads.
await Excel.run(async (context) => {
const productsDomainOptions: Excel.LinkedEntityDataDomainCreateOptions = {
dataProvider: "Contoso",
id: "products",
name: "Products",
// ID of the custom function called by Excel to resolve or refresh linked entity cell values.
loadFunctionId: "CONTOSOLOADSERVICE",
// periodicRefreshInterval is only required when supportedRefreshModes contains "Periodic".
periodicRefreshInterval: 300,
// Manual refresh mode is always supported, even if unspecified.
supportedRefreshModes: [
Excel.LinkedEntityDataDomainRefreshMode.periodic,
Excel.LinkedEntityDataDomainRefreshMode.onLoad
]
};
// Add the data domain to the collection to register it.
context.workbook.linkedEntityDataDomains.add(productsDomainOptions);
await context.sync();
});
getCount()
コレクション内のリンクされたエンティティ データ ドメインの数を取得します。
getCount(): OfficeExtension.ClientResult<number>;
返品
OfficeExtension.ClientResult<number>
注釈
getItem(id)
リンクされたエンティティ データ ドメインをその idで取得します。
getItem(id: string): Excel.LinkedEntityDataDomain;
パラメーター
- id
-
string
取得する LinkedEntityDataDomain オブジェクトのid。
返品
指定された idにリンクされたエンティティ データ ドメイン。 同じ idを持つ複数のリンクされたエンティティ データ ドメインがある場合は、この Office アドインで定義されたものが返されます。
注釈
例
// Refreshes all linked entity cell values for a specific data domain.
await Excel.run(async (context) => {
const dataDomains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
// Get a specific data domain by ID and refresh it.
const productsDomain: Excel.LinkedEntityDataDomain = dataDomains.getItem("products");
productsDomain.refresh();
await context.sync();
});
getItemAt(index)
コレクション内のインデックスによって、リンクされたエンティティ データ ドメインを取得します。
getItemAt(index: number): Excel.LinkedEntityDataDomain;
パラメーター
- index
-
number
コレクション内のリンクされたエンティティ データ ドメインのインデックス。
返品
指定されたインデックスにリンクされたエンティティ データ ドメイン。
注釈
getItemByName(name)
リンクされたエンティティ データ ドメインをその nameで取得します。
getItemByName(name: string): Excel.LinkedEntityDataDomain;
パラメーター
- name
-
string
取得する LinkedEntityDataDomain オブジェクトのname。
返品
指定された nameにリンクされたエンティティ データ ドメイン。 同じ nameを持つ複数のリンクされたエンティティ データ ドメインがある場合は、この Office アドインで定義されたものが返されます。
注釈
getItemByNameOrNullObject(name)
リンクされたエンティティ データ ドメインをその nameで取得します。 リンクされたエンティティ データ ドメインが存在しない場合、このメソッドは isNullObject プロパティが true に設定されたオブジェクトを返します。 詳細については、「 *OrNullObject のメソッドとプロパティ」を参照してください。
getItemByNameOrNullObject(name: string): Excel.LinkedEntityDataDomain;
パラメーター
- name
-
string
取得する LinkedEntityDataDomain オブジェクトのname。
返品
指定された nameにリンクされたエンティティ データ ドメイン。 同じ nameを持つ複数のリンクされたエンティティ データ ドメインがある場合は、この Office アドインで定義されたものが返されます。
注釈
getItemOrNullObject(id)
リンクされたエンティティ データ ドメインをその idで取得します。 リンクされたエンティティ データ ドメインが存在しない場合、このメソッドは isNullObject プロパティが true に設定されたオブジェクトを返します。 詳細については、「 *OrNullObject のメソッドとプロパティ」を参照してください。
getItemOrNullObject(id: string): Excel.LinkedEntityDataDomain;
パラメーター
- id
-
string
取得する LinkedEntityDataDomain オブジェクトのid。
返品
指定された idにリンクされたエンティティ データ ドメイン。 同じ idを持つ複数のリンクされたエンティティ データ ドメインがある場合は、この Office アドインで定義されたものが返されます。
注釈
load(options)
オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync() を呼び出す必要があります。
load(options?: Excel.Interfaces.LinkedEntityDataDomainCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions): Excel.LinkedEntityDataDomainCollection;
パラメーター
- options
-
Excel.Interfaces.LinkedEntityDataDomainCollectionLoadOptions & Excel.Interfaces.CollectionLoadOptions
読み込むオブジェクトのプロパティのオプションを指定します。
返品
load(propertyNames)
オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync() を呼び出す必要があります。
load(propertyNames?: string | string[]): Excel.LinkedEntityDataDomainCollection;
パラメーター
- propertyNames
-
string | string[]
読み込むプロパティを指定するコンマ区切りの文字列または文字列の配列。
返品
load(propertyNamesAndPaths)
オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync() を呼び出す必要があります。
load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Excel.LinkedEntityDataDomainCollection;
パラメーター
- propertyNamesAndPaths
- OfficeExtension.LoadOption
propertyNamesAndPaths.select は読み込むプロパティを指定するコンマ区切りの文字列であり、 propertyNamesAndPaths.expand は読み込むナビゲーションのプロパティを指定するコンマ区切りの文字列です。
返品
refreshAll()
このコレクション内のリンクされているすべてのエンティティ データ ドメインのすべての LinkedEntityCellValue オブジェクトを更新します。 データ プロバイダーがビジー状態であるか、一時的にアクセスできない場合、更新要求は失敗する可能性があります。
refreshAll(): void;
返品
void
注釈
例
// Refreshes all linked entity cell values across all data domains.
await Excel.run(async (context) => {
const dataDomains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
// Refresh all linked entity cell values in all data domains.
dataDomains.refreshAll();
await context.sync();
});
toJSON()
API オブジェクトが JSON.stringify() に渡されるときに、より有用な出力を提供するために、JavaScript toJSON() メソッドをオーバーライドします。 (次に、JSON.stringify渡されたオブジェクトの toJSON メソッドを呼び出します)。元の Excel.LinkedEntityDataDomainCollection オブジェクトが API オブジェクトであるのに対し、 toJSON メソッドは、コレクションの項目から読み込まれたプロパティの浅いコピーを含む "items" 配列を含むプレーンな JavaScript オブジェクト ( Excel.Interfaces.LinkedEntityDataDomainCollectionData として型指定された) を返します。
toJSON(): Excel.Interfaces.LinkedEntityDataDomainCollectionData;
返品
イベントの詳細
onLinkedEntityDataDomainAdded
新しいリンクされたエンティティ データ ドメインがブックに追加されたときに発生します。
readonly onLinkedEntityDataDomainAdded: OfficeExtension.EventHandlers<Excel.LinkedEntityDataDomainAddedEventArgs>;
イベントの種類
注釈
例
// Registers an event handler for the onLinkedEntityDataDomainAdded event.
await Excel.run(async (context) => {
const dataDomains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
dataDomains.onLinkedEntityDataDomainAdded.add(onDataDomainAdded);
await context.sync();
});
async function onDataDomainAdded(eventArgs: Excel.LinkedEntityDataDomainAddedEventArgs): Promise<void> {
console.log(`Linked entity data domain added: ${eventArgs.id}`);
console.log(`Event type: ${eventArgs.type}`);
console.log(`Event source: ${eventArgs.source}`);
console.log(`Service ID: ${eventArgs.serviceId}`);
}
onRefreshCompleted
リンクされたエンティティ データ ドメインの LinkedEntityCellValue オブジェクトを更新する要求が完了したときに発生します。
readonly onRefreshCompleted: OfficeExtension.EventHandlers<Excel.LinkedEntityDataDomainRefreshCompletedEventArgs>;
イベントの種類
注釈
例
// Registers an event handler for the onRefreshCompleted event.
await Excel.run(async (context) => {
const dataDomains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
dataDomains.onRefreshCompleted.add(onLinkedEntityDomainRefreshed);
await context.sync();
});
async function onLinkedEntityDomainRefreshed(eventArgs: Excel.LinkedEntityDataDomainRefreshCompletedEventArgs): Promise<void> {
console.log(`Linked entity domain refreshed: ${eventArgs.id}`);
console.log(`Event type: ${eventArgs.type}`);
console.log(`Event source: ${eventArgs.source}`);
console.log(`Service ID: ${eventArgs.serviceId}`);
console.log(`Refresh status: ${eventArgs.refreshed}`);
console.log(`Refresh errors: ${eventArgs.errors}`);
}
onRefreshModeChanged
リンクされたエンティティ データ ドメインの refreshMode が変更されたときに発生します。
readonly onRefreshModeChanged: OfficeExtension.EventHandlers<Excel.LinkedEntityDataDomainRefreshModeChangedEventArgs>;
イベントの種類
注釈
例
// Registers an event handler for the onRefreshModeChanged event.
await Excel.run(async (context) => {
const dataDomains: Excel.LinkedEntityDataDomainCollection = context.workbook.linkedEntityDataDomains;
dataDomains.onRefreshModeChanged.add(onRefreshModeChanged);
await context.sync();
});
async function onRefreshModeChanged(eventArgs: Excel.LinkedEntityDataDomainRefreshModeChangedEventArgs): Promise<void> {
console.log(`Linked entity domain refresh mode changed: ${eventArgs.id}`);
console.log(`Event type: ${eventArgs.type}`);
console.log(`Event source: ${eventArgs.source}`);
console.log(`Service ID: ${eventArgs.serviceId}`);
console.log(`New refresh mode: ${eventArgs.refreshMode}`);
}