Word.ShapeCollection class
Содержит коллекцию Word. Объекты фигуры. В настоящее время поддерживаются только следующие фигуры: текстовые поля, геометрические фигуры, группы, рисунки и холсты.
- Extends
Комментарии
[ Набор API: WordApiDesktop 1.2 ]
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/45-shapes/manage-shapes-text-boxes.yaml
await Word.run(async (context) => {
// Gets text boxes in the main document.
const shapes: Word.ShapeCollection = context.document.body.shapes;
shapes.load();
await context.sync();
if (shapes.items.length > 0) {
console.log(`Number of shapes found in the main document: ${shapes.items.length}`);
shapes.items.forEach(function (shape, index) {
if (shape.type === Word.ShapeType.textBox) {
console.log(`Shape ${index} in the main document has a text box. Properties:`, shape);
} else {
console.log(`Shape ${index} in the main document doesn't have a text box.`);
}
});
} else {
console.log("No shapes found in the main document.");
}
});
Свойства
| context | Контекст запроса, связанный с объектом . Это соединяет процесс надстройки с процессом ведущего приложения Office. |
| items | Получает загруженные дочерние элементы в этой коллекции. |
Методы
| get |
Возвращает фигуры, имеющие указанные геометрические типы. Применяется только к геометрическим фигурам. |
| get |
Получает фигуру по идентификатору. Выдает ошибку |
| get |
Получает фигуру по идентификатору. Если в этой коллекции нет фигуры с идентификатором, этот метод вернет объект со свойством |
| get |
Получает фигуры по идентификаторам. |
| get |
Возвращает фигуры с указанными именами. |
| get |
Возвращает фигуры, имеющие указанные типы. |
| get |
Возвращает первую фигуру в этой коллекции. Выдает ошибку, |
| get |
Возвращает первую фигуру в этой коллекции. Если коллекция пуста, то этот метод вернет объект со свойством |
| group() | Группы фигур с плавающей линией в этой коллекции, встроенные фигуры будут пропущены.
|
| load(options) | Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
| load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
| load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
| toJSON() | Переопределяет метод JavaScript |
| track() | Отслеживает объект для автоматической корректировки с учетом окружающих изменений в документе. Этот вызов является сокращением для context.trackedObjects.add(thisObject). Если вы используете этот объект в вызовах |
| untrack() | Освобождает память, связанную с этим объектом, если он ранее отслеживался. Этот вызов является сокращенным для context.trackedObjects.remove(thisObject). Наличие большого количества отслеживаемых объектов замедляет ведущее приложение, поэтому не забывайте освобождать любые добавленные объекты после завершения их использования. Вызов потребуется выполнить |
Сведения о свойстве
context
Контекст запроса, связанный с объектом . Это соединяет процесс надстройки с процессом ведущего приложения Office.
context: RequestContext;
Значение свойства
items
Получает загруженные дочерние элементы в этой коллекции.
readonly items: Word.Shape[];
Значение свойства
Сведения о методе
getByGeometricTypes(types)
Возвращает фигуры, имеющие указанные геометрические типы. Применяется только к геометрическим фигурам.
getByGeometricTypes(types: Word.GeometricShapeType[]): Word.ShapeCollection;
Параметры
- types
Массив подтипов геометрических фигур.
Возвращаемое значение
Комментарии
[ Набор API: WordApiDesktop 1.2 ]
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/45-shapes/manage-geometric-shapes.yaml
await Word.run(async (context) => {
// Gets the moon geometric shapes from the document body.
const moons: Word.ShapeCollection = context.document.body.shapes.getByGeometricTypes([
Word.GeometricShapeType.moon,
]);
moons.load();
await context.sync();
console.log("Moons found in the document body:", moons);
});
getById(id)
Получает фигуру по идентификатору. Выдает ошибку ItemNotFound , если в этой коллекции нет фигуры с идентификатором.
getById(id: number): Word.Shape;
Параметры
- id
-
number
Идентификатор фигуры.
Возвращаемое значение
Комментарии
getByIdOrNullObject(id)
Получает фигуру по идентификатору. Если в этой коллекции нет фигуры с идентификатором, этот метод вернет объект со свойством isNullObjecttrue. Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.
getByIdOrNullObject(id: number): Word.Shape;
Параметры
- id
-
number
Идентификатор фигуры.
Возвращаемое значение
Комментарии
getByIds(ids)
Получает фигуры по идентификаторам.
getByIds(ids: number[]): Word.ShapeCollection;
Параметры
- ids
-
number[]
Массив идентификаторов фигур.
Возвращаемое значение
Комментарии
getByNames(names)
Возвращает фигуры с указанными именами.
getByNames(names: string[]): Word.ShapeCollection;
Параметры
- names
-
string[]
Массив имен фигур.
Возвращаемое значение
Комментарии
getByTypes(types)
Возвращает фигуры, имеющие указанные типы.
getByTypes(types: Word.ShapeType[]): Word.ShapeCollection;
Параметры
- types
Массив типов фигур.
Возвращаемое значение
Комментарии
[ Набор API: WordApiDesktop 1.2 ]
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/45-shapes/manage-shapes-text-boxes.yaml
await Word.run(async (context) => {
// Sets the properties of the first text box.
const firstShapeWithTextBox: Word.Shape = context.document.body.shapes
.getByTypes([Word.ShapeType.textBox])
.getFirst();
firstShapeWithTextBox.top = 115;
firstShapeWithTextBox.left = 0;
firstShapeWithTextBox.width = 50;
firstShapeWithTextBox.height = 50;
await context.sync();
console.log("The first text box's properties were updated:", firstShapeWithTextBox);
});
getFirst()
Возвращает первую фигуру в этой коллекции. Выдает ошибку, ItemNotFound если эта коллекция пуста.
getFirst(): Word.Shape;
Возвращаемое значение
Комментарии
[ Набор API: WordApiDesktop 1.2 ]
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/45-shapes/manage-shapes-text-boxes.yaml
await Word.run(async (context) => {
// Inserts a content control into the first paragraph in the first text box.
const firstShapeWithTextBox: Word.Shape = context.document.body.shapes
.getByTypes([Word.ShapeType.textBox])
.getFirst();
firstShapeWithTextBox.load("type/body");
await context.sync();
const firstParagraphInTextBox: Word.Paragraph = firstShapeWithTextBox.body.paragraphs.getFirst();
const newControl: Word.ContentControl = firstParagraphInTextBox.insertContentControl();
newControl.load();
await context.sync();
console.log("New content control properties:", newControl);
});
getFirstOrNullObject()
Возвращает первую фигуру в этой коллекции. Если коллекция пуста, то этот метод вернет объект со свойством isNullObject .true Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.
getFirstOrNullObject(): Word.Shape;
Возвращаемое значение
Комментарии
[ Набор API: WordApiDesktop 1.2 ]
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/45-shapes/manage-shapes-text-boxes.yaml
await Word.run(async (context) => {
// Gets text from the first text box in the main document.
const shape: Word.Shape = context.document.body.shapes.getByTypes([Word.ShapeType.textBox]).getFirstOrNullObject();
shape.load("body/text");
await context.sync();
console.log(
shape.isNullObject
? "No shapes with text boxes found in the main document."
: `Text in first text box: ${shape.body.text}`
);
});
group()
Группы фигур с плавающей линией в этой коллекции, встроенные фигуры будут пропущены.
Shape Возвращает объект , представляющий новую группу фигур.
group(): Word.Shape;
Возвращаемое значение
Комментарии
[ Набор API: WordApiDesktop 1.2 ]
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/45-shapes/group-ungroup.yaml
await Word.run(async (context) => {
// Groups the shapes (including text boxes and pictures) found in the document body.
const shapes: Word.ShapeCollection = context.document.body.shapes.getByTypes([
Word.ShapeType.geometricShape,
Word.ShapeType.textBox,
Word.ShapeType.picture,
]);
shapes.load("items");
await context.sync();
const numShapes = shapes.items.length;
if (numShapes === 0) {
console.log("No shapes found in the document body.");
return;
}
console.log(`Number of shapes to group: ${numShapes}`);
const groupedShape: Word.Shape = shapes.group();
groupedShape.load("shapeGroup/shapes");
await context.sync();
const shapeGroup: Word.ShapeGroup = groupedShape.shapeGroup;
console.log("Shapes grouped:", shapeGroup.shapes);
groupedShape.select();
});
load(options)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().
load(options?: Word.Interfaces.ShapeCollectionLoadOptions & Word.Interfaces.CollectionLoadOptions): Word.ShapeCollection;
Параметры
Предоставляет параметры свойств объекта для загрузки.
Возвращаемое значение
load(propertyNames)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().
load(propertyNames?: string | string[]): Word.ShapeCollection;
Параметры
- propertyNames
-
string | string[]
Строка с разделителями-запятыми или массив строк, указывающих свойства для загрузки.
Возвращаемое значение
load(propertyNamesAndPaths)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().
load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Word.ShapeCollection;
Параметры
- propertyNamesAndPaths
- OfficeExtension.LoadOption
propertyNamesAndPaths.select — это строка с разделителями-запятыми, указывающая загружаемые свойства, и propertyNamesAndPaths.expand строка с разделителями-запятыми, указывающая загружаемые свойства навигации.
Возвращаемое значение
toJSON()
Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringifyв свою очередь вызывает toJSON метод переданного ему объекта.) В то время как исходный Word.ShapeCollection объект является объектом API, toJSON метод возвращает обычный объект JavaScript (типизированный как Word.Interfaces.ShapeCollectionData), содержащий массив "items" с мелкими копиями всех загруженных свойств из элементов коллекции.
toJSON(): Word.Interfaces.ShapeCollectionData;
Возвращаемое значение
track()
Отслеживает объект для автоматической корректировки с учетом окружающих изменений в документе. Этот вызов является сокращением для context.trackedObjects.add(thisObject). Если вы используете этот объект в вызовах .sync и вне последовательного выполнения пакета .run и получаете ошибку InvalidObjectPath при задании свойства или вызове метода для объекта, необходимо добавить объект в отслеживаемую коллекцию объектов при первом создании объекта. Если этот объект является частью коллекции, следует также отслеживать родительскую коллекцию.
track(): Word.ShapeCollection;
Возвращаемое значение
untrack()
Освобождает память, связанную с этим объектом, если он ранее отслеживался. Этот вызов является сокращенным для context.trackedObjects.remove(thisObject). Наличие большого количества отслеживаемых объектов замедляет ведущее приложение, поэтому не забывайте освобождать любые добавленные объекты после завершения их использования. Вызов потребуется выполнить context.sync() до того, как выпуск памяти вступит в силу.
untrack(): Word.ShapeCollection;