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() が呼び出された後に保存されません。 これにより、1 回限りの操作用に多くのオブジェクトが作成されるインスタンスが高速化されます。

remove(objects)

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

メソッドの詳細

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() が呼び出された後に保存されません。 これにより、1 回限りの操作用に多くのオブジェクトが作成されるインスタンスが高速化されます。

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() が呼び出された後に保存されません。 これにより、1 回限りの操作用に多くのオブジェクトが作成されるインスタンスが高速化されます。

remove(objects: ClientObject[]): void;

パラメーター

返品

void