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