Word.ShapeCollection class
Содержит коллекцию Word. Придавайте форму объектам. В настоящее время поддерживаются только следующие фигуры: надписи, геометрические фигуры, группы, рисунки и холсты.
- Extends
Комментарии
Используется
- Word. Тело: формы
- Word. Холст: фигуры
- Word. Абзац: фигуры
- Word. Диапазон: фигуры
- Word. Группа фигур: фигуры, разгруппировка
Примеры
// 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
Массив подтипов геометрических фигур.
Возвращаемое значение
Комментарии
Примеры
// 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)
Получает фигуру по ее идентификатору. Если в этой коллекции нет фигуры с идентификатором, этот метод вернет объект со isNullObject свойством true. Дополнительные сведения см. в разделе Методы и свойства *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
Массив типов фигур.
Возвращаемое значение
Комментарии
Примеры
// 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;
Возвращаемое значение
Комментарии
Примеры
// 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;
Возвращаемое значение
Комментарии
Примеры
// 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;
Возвращаемое значение
Комментарии
Примеры
// 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;