Excel.LinkedEntityDataDomainCollection class

LinkedEntityDataDomain オブジェクトのコレクションを表します。 コレクションには、Bing や Power BI などのサービス データ プロバイダーによって定義された株式、地理、通貨などのリンクされたエンティティ データ ドメイン、または Office アドインによって定義されたリンクされたエンティティ データ ドメインを含めることができます。

Extends

注釈

API セット: ExcelApi 1.19

使用元

例

// 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 アドインによって定義されたリンクされたエンティティ データ ドメイン オブジェクトをコレクションに追加します。 リンクされたエンティティ データ ドメインが追加されると、それを使用して LinkedEntityCellValue オブジェクトを作成できます。

getCount()

コレクション内のリンクされたエンティティ データ ドメインの数を取得します。

getItem(id)

リンクされたエンティティ データ ドメインをその idで取得します。

getItemAt(index)

コレクション内のインデックスによって、リンクされたエンティティ データ ドメインを取得します。

getItemByName(name)

リンクされたエンティティ データ ドメインをその nameで取得します。

getItemByNameOrNullObject(name)

リンクされたエンティティ データ ドメインをその nameで取得します。 リンクされたエンティティ データ ドメインが存在しない場合、このメソッドは isNullObject プロパティが true に設定されたオブジェクトを返します。 詳細については、「 *OrNullObject のメソッドとプロパティ」を参照してください。

getItemOrNullObject(id)

リンクされたエンティティ データ ドメインをその idで取得します。 リンクされたエンティティ データ ドメインが存在しない場合、このメソッドは isNullObject プロパティが true に設定されたオブジェクトを返します。 詳細については、「 *OrNullObject のメソッドとプロパティ」を参照してください。

load(options)

オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync() を呼び出す必要があります。

load(propertyNames)

オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync() を呼び出す必要があります。

load(propertyNamesAndPaths)

オブジェクトの指定されたプロパティを読み込むコマンドを待ち行列に入れます。 プロパティを読み取る前に、context.sync() を呼び出す必要があります。

refreshAll()

このコレクション内のリンクされているすべてのエンティティ データ ドメインのすべての LinkedEntityCellValue オブジェクトを更新します。 データ プロバイダーがビジー状態であるか、一時的にアクセスできない場合、更新要求は失敗する可能性があります。

toJSON()

API オブジェクトが JSON.stringify() に渡されるときに、より有用な出力を提供するために、JavaScript toJSON() メソッドをオーバーライドします。 (次に、JSON.stringify渡されたオブジェクトの toJSON メソッドを呼び出します)。元の Excel.LinkedEntityDataDomainCollection オブジェクトが API オブジェクトであるのに対し、 toJSON メソッドは、コレクションの項目から読み込まれたプロパティの浅いコピーを含む "items" 配列を含むプレーンな JavaScript オブジェクト ( Excel.Interfaces.LinkedEntityDataDomainCollectionData として型指定された) を返します。

イベント

onLinkedEntityDataDomainAdded

新しいリンクされたエンティティ データ ドメインがブックに追加されたときに発生します。

onRefreshCompleted

リンクされたエンティティ データ ドメインの LinkedEntityCellValue オブジェクトを更新する要求が完了したときに発生します。

onRefreshModeChanged

リンクされたエンティティ データ ドメインの refreshMode が変更されたときに発生します。

プロパティの詳細

context

オブジェクトに関連付けられている要求コンテキスト。 これにより、アドインのプロセスが Office ホスト アプリケーションのプロセスに接続されます。

context: RequestContext;

プロパティ値

items

このコレクション内に読み込まれた子アイテムを取得します。

readonly items: Excel.LinkedEntityDataDomain[];

プロパティ値

メソッドの詳細

add(options)

Office アドインによって定義されたリンクされたエンティティ データ ドメイン オブジェクトをコレクションに追加します。 リンクされたエンティティ データ ドメインが追加されると、それを使用して LinkedEntityCellValue オブジェクトを作成できます。

add(options: Excel.LinkedEntityDataDomainCreateOptions): void;

パラメーター

options
Excel.LinkedEntityDataDomainCreateOptions

追加するリンクされたエンティティ データ ドメインを作成するために使用されるオプション。

返品

void

注釈

API セット: ExcelApi 1.19

例

// 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>;

返品

注釈

API セット: ExcelApi 1.19

getItem(id)

リンクされたエンティティ データ ドメインをその idで取得します。

getItem(id: string): Excel.LinkedEntityDataDomain;

パラメーター

id

string

取得する LinkedEntityDataDomain オブジェクトのid。

返品

指定された idにリンクされたエンティティ データ ドメイン。 同じ idを持つ複数のリンクされたエンティティ データ ドメインがある場合は、この Office アドインで定義されたものが返されます。

注釈

API セット: ExcelApi 1.19

例

// 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

コレクション内のリンクされたエンティティ データ ドメインのインデックス。

返品

指定されたインデックスにリンクされたエンティティ データ ドメイン。

注釈

API セット: ExcelApi 1.19

getItemByName(name)

リンクされたエンティティ データ ドメインをその nameで取得します。

getItemByName(name: string): Excel.LinkedEntityDataDomain;

パラメーター

name

string

取得する LinkedEntityDataDomain オブジェクトのname。

返品

指定された nameにリンクされたエンティティ データ ドメイン。 同じ nameを持つ複数のリンクされたエンティティ データ ドメインがある場合は、この Office アドインで定義されたものが返されます。

注釈

API セット: ExcelApi 1.19

getItemByNameOrNullObject(name)

リンクされたエンティティ データ ドメインをその nameで取得します。 リンクされたエンティティ データ ドメインが存在しない場合、このメソッドは isNullObject プロパティが true に設定されたオブジェクトを返します。 詳細については、「 *OrNullObject のメソッドとプロパティ」を参照してください。

getItemByNameOrNullObject(name: string): Excel.LinkedEntityDataDomain;

パラメーター

name

string

取得する LinkedEntityDataDomain オブジェクトのname。

返品

指定された nameにリンクされたエンティティ データ ドメイン。 同じ nameを持つ複数のリンクされたエンティティ データ ドメインがある場合は、この Office アドインで定義されたものが返されます。

注釈

API セット: ExcelApi 1.19

getItemOrNullObject(id)

リンクされたエンティティ データ ドメインをその idで取得します。 リンクされたエンティティ データ ドメインが存在しない場合、このメソッドは isNullObject プロパティが true に設定されたオブジェクトを返します。 詳細については、「 *OrNullObject のメソッドとプロパティ」を参照してください。

getItemOrNullObject(id: string): Excel.LinkedEntityDataDomain;

パラメーター

id

string

取得する LinkedEntityDataDomain オブジェクトのid。

返品

指定された idにリンクされたエンティティ データ ドメイン。 同じ idを持つ複数のリンクされたエンティティ データ ドメインがある場合は、この Office アドインで定義されたものが返されます。

注釈

API セット: ExcelApi 1.19

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

注釈

API セット: ExcelApi 1.19

例

// 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>;

イベントの種類

注釈

API セット: ExcelApi 1.19

例

// 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>;

イベントの種類

注釈

API セット: ExcelApi 1.19

例

// 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>;

イベントの種類

注釈

API セット: ExcelApi 1.19

例

// 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}`);
}