PowerPoint.ShapeScopedCollection class
Представляет набор фигур.
- Extends
Комментарии
Используется
- PowerPoint.Графика: convertToShape
- PowerPoint.Presentation: getSelectedShapes
- PowerPoint.ShapeGroup: фигуры
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/shapes/get-set-shapes.yaml
// Changes the selected shapes fill color to red.
await PowerPoint.run(async (context) => {
const shapes: PowerPoint.ShapeScopedCollection = context.presentation.getSelectedShapes();
const shapeCount = shapes.getCount();
shapes.load("items/fill/type");
await context.sync();
shapes.items.map((shape) => {
const shapeFillType = shape.fill.type as PowerPoint.ShapeFillType;
console.log(`Shape ID ${shape.id} original fill type: ${shapeFillType}`);
shape.fill.setSolidColor("red");
});
await context.sync();
});
Свойства
| context | Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office. |
| items | Получает загруженные дочерние элементы в этой коллекции. |
Методы
| get |
Получает количество фигур в коллекции. |
| get |
Получает фигуру с уникальным идентификатором. Если фигуры нет, возникает ошибка. |
| get |
Получает фигуру с использованием индекса, отсчитываемого от нуля, в коллекции. Если индекс находится за пределами допустимого диапазона, возникает ошибка. |
| get |
Получает фигуру с уникальным идентификатором. Если такой фигуры не существует, возвращается объект со свойством |
| group() | Группирует все фигуры коллекции в одну фигуру. Если коллекция содержит менее двух фигур, этот метод возвращает |
| load(options) | Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
| load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
| load(property |
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод |
| toJSON() | Переопределяет метод JavaScript |
Сведения о свойстве
context
Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office.
context: RequestContext;
Значение свойства
items
Получает загруженные дочерние элементы в этой коллекции.
readonly items: PowerPoint.Shape[];
Значение свойства
Сведения о методе
getCount()
Получает количество фигур в коллекции.
getCount(): OfficeExtension.ClientResult<number>;
Возвращаемое значение
OfficeExtension.ClientResult<number>
Количество фигур в коллекции.
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/shapes/get-set-shapes.yaml
// Gets the shapes you selected on the slide and displays their IDs on the task pane.
await PowerPoint.run(async (context) => {
let finalTable = "";
const shapes: PowerPoint.ShapeScopedCollection = context.presentation.getSelectedShapes();
const shapeCount = shapes.getCount();
await context.sync();
finalTable += "<br>getSelectedShapes.getCount returned:<b>" + shapeCount.value + "</b><br>";
finalTable +=
"<br><table border=1 cellpadding=3 cellspacing=0><tr><td bgcolor=#3333EE><font color=white>Index</font></td><td bgcolor=#3333EE><font color=white>Id</font></td></tr>";
shapes.load("items");
await context.sync();
shapes.items.map((shape, index) => {
finalTable += "<tr><td>" + index + "</td><td>" + shape.id + "</td></tr>";
});
finalTable += "</table>";
const outputSpan = document.getElementById("outputSpan");
outputSpan.innerHTML = "";
outputSpan.innerHTML += finalTable;
});
getItem(key)
Получает фигуру с уникальным идентификатором. Если фигуры нет, возникает ошибка.
getItem(key: string): PowerPoint.Shape;
Параметры
- key
-
string
Идентификатор фигуры.
Возвращаемое значение
Фигура с уникальным идентификатором. Если такой фигуры нет, выводится сообщение об ошибке.
Комментарии
getItemAt(index)
Получает фигуру с использованием индекса, отсчитываемого от нуля, в коллекции. Если индекс находится за пределами допустимого диапазона, возникает ошибка.
getItemAt(index: number): PowerPoint.Shape;
Параметры
- index
-
number
Индекс фигуры в коллекции.
Возвращаемое значение
Фигура по заданному индексу. Если индекс выходит за пределы допустимого диапазона, возникает ошибка.
Комментарии
getItemOrNullObject(id)
Получает фигуру с уникальным идентификатором. Если такой фигуры не существует, возвращается объект со свойством isNullObject true. Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.
getItemOrNullObject(id: string): PowerPoint.Shape;
Параметры
- id
-
string
Идентификатор фигуры.
Возвращаемое значение
Фигура с уникальным идентификатором. Если такой фигуры не существует, возвращается объект со свойством isNullObject true.
Комментарии
Примеры
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/shapes/get-shape-by-id.yaml
// Uses getItemOrNullObject to find a shape by ID within the selected shapes.
// If the ID is not found in the selected shapes, the returned object's isNullObject property is true.
await PowerPoint.run(async (context) => {
const shapeId = (document.getElementById("shape-id-input") as HTMLInputElement).value.trim();
if (!shapeId) {
console.log("Enter a shape ID in the text box first.");
return;
}
const selectedShapes: PowerPoint.ShapeScopedCollection = context.presentation.getSelectedShapes();
// getItemOrNullObject returns a Shape object without throwing if the ID isn't found.
const shape: PowerPoint.Shape = selectedShapes.getItemOrNullObject(shapeId);
shape.load("id,name,type");
await context.sync();
if (shape.isNullObject) {
console.log(`Shape ID "${shapeId}" was not found in the selected shapes.`);
} else {
console.log(`Shape found in the selected shapes.`);
console.log(` ID: ${shape.id}`);
console.log(` Name: "${shape.name}"`);
console.log(` Type: ${shape.type}`);
}
});
group()
Группирует все фигуры коллекции в одну фигуру. Если коллекция содержит менее двух фигур, этот метод возвращает GeneralException ошибку.
group(): PowerPoint.Shape;
Возвращаемое значение
Новая сгруппированная фигура как фигура PowerPoint.Shape.
Комментарии
load(options)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().
load(options?: PowerPoint.Interfaces.ShapeScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions): PowerPoint.ShapeScopedCollection;
Параметры
- options
-
PowerPoint.Interfaces.ShapeScopedCollectionLoadOptions & PowerPoint.Interfaces.CollectionLoadOptions
Предоставляет параметры для загружаемых свойств объекта.
Возвращаемое значение
load(propertyNames)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().
load(propertyNames?: string | string[]): PowerPoint.ShapeScopedCollection;
Параметры
- propertyNames
-
string | string[]
Строка с разделителями-запятыми или массив строк, которые определяют свойства для загрузки.
Возвращаемое значение
load(propertyNamesAndPaths)
Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().
load(propertyNamesAndPaths?: OfficeExtension.LoadOption): PowerPoint.ShapeScopedCollection;
Параметры
- propertyNamesAndPaths
- OfficeExtension.LoadOption
propertyNamesAndPaths.select — это строка с разделителями-запятыми, указывающая загружаемые свойства, и строка propertyNamesAndPaths.expand через запятую, указывающая свойства навигации для загрузки.
Возвращаемое значение
toJSON()
Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringify, в свою очередь, вызывает toJSON метод переданного ему объекта.) В то время как исходный PowerPoint.ShapeScopedCollection объект является объектом API, toJSON метод возвращает простой объект JavaScript (типизированный как PowerPoint.Interfaces.ShapeScopedCollectionData), который содержит массив «items» с неглубокими копиями любых загруженных свойств из элементов коллекции.
toJSON(): PowerPoint.Interfaces.ShapeScopedCollectionData;