OfficeExtension.TrackedObjects class

要求コンテキスト内に含まれる追跡対象オブジェクトのコレクション。 詳細については、「 context.trackedObjects 」を参照してください。

注釈

使用元

// This sample creates many one-cell ranges, then removes each
// cell proxy object from memory before the batch operation completes.
await Excel.run(async (context) => {
    const largeRange = context.workbook.getSelectedRange();
    largeRange.load(["rowCount", "columnCount"]);
    await context.sync();

    const trackedObjects: OfficeExtension.TrackedObjects = context.trackedObjects;

    for (let i = 0; i < largeRange.rowCount; i++) {
        for (let j = 0; j < largeRange.columnCount; j++) {
            const cell = largeRange.getCell(i, j);
            cell.values = [[i *j]];

            // Release the cell proxy object from memory now that we're
            // done with it. The memory is freed on the next context.sync() call.
            trackedObjects.remove(cell);
        }
    }

    await context.sync();
});

メソッド

add(object)

ドキュメント内の周囲の変更に基づいて自動調整する新しいオブジェクトを追跡します。 これを必要とするのは、一部のオブジェクト型のみです。 ".sync" 呼び出しと ".run" バッチのシーケンシャル実行の外部でオブジェクトを使用していて、プロパティを設定するとき、またはオブジェクトに対してメソッドを呼び出すときに "InvalidObjectPath" エラーが発生する場合は、オブジェクトが最初に作成されたときに、追跡対象のオブジェクト コレクションにオブジェクトを追加しておく必要があります。 このオブジェクトがWordのコレクションの一部である場合は、親コレクションも追跡する必要があります。

add(objects)

ドキュメント内の周囲の変更に基づいて自動調整するオブジェクトのセットを追跡します。 これを必要とするのは、一部のオブジェクト型のみです。 ".sync" 呼び出しと ".run" バッチのシーケンシャル実行の外部でオブジェクトを使用していて、プロパティを設定するとき、またはオブジェクトに対してメソッドを呼び出すときに "InvalidObjectPath" エラーが発生する場合は、オブジェクトが最初に作成されたときに、追跡対象のオブジェクト コレクションにオブジェクトを追加しておく必要があります。 このオブジェクトがWordのコレクションの一部である場合は、親コレクションも追跡する必要があります。

remove(object)

指定されたプロキシ オブジェクトがこのコレクションに既にある場合、このメソッドは オブジェクトに関連付けられているメモリを解放します。 メモリ解放が有効になるまでに、 context.sync() を呼び出す必要があります。 指定されたプロキシ オブジェクトがこのコレクションに存在しない場合、プロキシ オブジェクトは、 context.sync() が呼び出された後に格納されません。 これにより、単一使用操作のために多数のオブジェクトが作成されるインスタンスが高速化されます。

remove(objects)

指定されたプロキシ オブジェクトがこのコレクションに既にある場合、このメソッドは オブジェクトに関連付けられているメモリを解放します。 メモリ解放が有効になるまでに、 context.sync() を呼び出す必要があります。 指定されたプロキシ オブジェクトがこのコレクションに存在しない場合、プロキシ オブジェクトは、 context.sync() が呼び出された後に格納されません。 これにより、単一使用操作のために多数のオブジェクトが作成されるインスタンスが高速化されます。

メソッドの詳細

add(object)

ドキュメント内の周囲の変更に基づいて自動調整する新しいオブジェクトを追跡します。 これを必要とするのは、一部のオブジェクト型のみです。 ".sync" 呼び出しと ".run" バッチのシーケンシャル実行の外部でオブジェクトを使用していて、プロパティを設定するとき、またはオブジェクトに対してメソッドを呼び出すときに "InvalidObjectPath" エラーが発生する場合は、オブジェクトが最初に作成されたときに、追跡対象のオブジェクト コレクションにオブジェクトを追加しておく必要があります。 このオブジェクトがWordのコレクションの一部である場合は、親コレクションも追跡する必要があります。

add(object: ClientObject): void;

パラメーター

返品

void

// This sample shows how to track a Word proxy object so it can be used
// across multiple context.sync() calls.
await Word.run(async (context) => {
    // Create a paragraph proxy object.
    const paragraph = context.document.body.insertParagraph(
        "This paragraph is tracked across sync calls.",
        Word.InsertLocation.end
    );

    // Track the paragraph so it remains valid across sync calls.
    context.trackedObjects.add(paragraph);
    await context.sync();

    // The tracked paragraph can still be used after the preceding sync.
    paragraph.font.bold = true;
    await context.sync();

    // Remember to release the object from memory once you're done with it.
    context.trackedObjects.remove(paragraph);
    await context.sync();
});

add(objects)

ドキュメント内の周囲の変更に基づいて自動調整するオブジェクトのセットを追跡します。 これを必要とするのは、一部のオブジェクト型のみです。 ".sync" 呼び出しと ".run" バッチのシーケンシャル実行の外部でオブジェクトを使用していて、プロパティを設定するとき、またはオブジェクトに対してメソッドを呼び出すときに "InvalidObjectPath" エラーが発生する場合は、オブジェクトが最初に作成されたときに、追跡対象のオブジェクト コレクションにオブジェクトを追加しておく必要があります。 このオブジェクトがWordのコレクションの一部である場合は、親コレクションも追跡する必要があります。

add(objects: ClientObject[]): void;

パラメーター

返品

void

remove(object)

指定されたプロキシ オブジェクトがこのコレクションに既にある場合、このメソッドは オブジェクトに関連付けられているメモリを解放します。 メモリ解放が有効になるまでに、 context.sync() を呼び出す必要があります。 指定されたプロキシ オブジェクトがこのコレクションに存在しない場合、プロキシ オブジェクトは、 context.sync() が呼び出された後に格納されません。 これにより、単一使用操作のために多数のオブジェクトが作成されるインスタンスが高速化されます。

remove(object: ClientObject): void;

パラメーター

返品

void

// This sample inserts many paragraphs into a Word document, removing each
// paragraph proxy object from memory after it's used.
await Word.run(async (context) => {
    const body = context.document.body;

    for (let i = 0; i < 500; i++) {
        const paragraph = body.insertParagraph(`Paragraph ${i}`, Word.InsertLocation.end);

        // Release the paragraph proxy object from memory now that we're
        // done with it. The memory is freed on the next context.sync() call.
        context.trackedObjects.remove(paragraph);
    }

    await context.sync();
});

remove(objects)

指定されたプロキシ オブジェクトがこのコレクションに既にある場合、このメソッドは オブジェクトに関連付けられているメモリを解放します。 メモリ解放が有効になるまでに、 context.sync() を呼び出す必要があります。 指定されたプロキシ オブジェクトがこのコレクションに存在しない場合、プロキシ オブジェクトは、 context.sync() が呼び出された後に格納されません。 これにより、単一使用操作のために多数のオブジェクトが作成されるインスタンスが高速化されます。

remove(objects: ClientObject[]): void;

パラメーター

返品

void