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