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) | Если данный прокси-объект уже находится в этой коллекции, этот метод освобождает память, связанную с объектом . Вызов необходимо выполнить |
| remove(objects) | Если заданные прокси-объекты уже находятся в этой коллекции, этот метод освобождает память, связанную с объектами. Вызов необходимо выполнить |
Сведения о методе
add(object)
Отслеживайте новый объект для автоматической настройки на основе окружающих изменений в документе. Это требуется только для некоторых типов объектов. Если вы используете объект в вызовах ".sync" и вне последовательного выполнения пакета .run и получаете ошибку InvalidObjectPath при задании свойства или вызове метода для объекта, необходимо добавить объект в отслеживаемую коллекцию объектов при первом создании объекта. Если этот объект является частью коллекции в Word, следует также отслеживать родительскую коллекцию.
add(object: ClientObject): void;
Параметры
- object
- OfficeExtension.ClientObject
Возвращаемое значение
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;
Параметры
- objects
Возвращаемое значение
void
remove(object)
Если данный прокси-объект уже находится в этой коллекции, этот метод освобождает память, связанную с объектом . Вызов необходимо выполнить context.sync() до того, как выпуск памяти вступит в силу. Если данный прокси-объект отсутствует в этой коллекции, он не будет сохранен после context.sync() вызова. Это ускоряет экземпляры, в которых создается много объектов для одноразовых операций.
remove(object: ClientObject): void;
Параметры
- object
- OfficeExtension.ClientObject
Возвращаемое значение
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;
Параметры
- objects
Возвращаемое значение
void