Word.ShapeCollection class
Contém uma coleção de Word. Objetos de forma. Atualmente, só são suportadas as seguintes formas: caixas de texto, formas geométricas, grupos, imagens e telas.
- Extends
Comentários
[ Conjunto de API: WordApiDesktop 1.2 ]
Exemplos
// 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.");
}
});
Propriedades
| context | O contexto do pedido associado ao objeto . Esta ação liga o processo do suplemento ao processo da aplicação anfitriã do Office. |
| items | Obtém os itens filhos carregados nesta coleção. |
Métodos
| get |
Obtém as formas que têm os tipos geométricos especificados. Aplicado apenas a formas geométricas. |
| get |
Obtém uma forma pelo respetivo identificador. Gera um |
| get |
Obtém uma forma pelo respetivo identificador. Se não existir uma forma com o identificador nesta coleção, este método devolverá um objeto com a respetiva |
| get |
Obtém as formas pelos identificadores. |
| get |
Obtém as formas que têm os nomes especificados. |
| get |
Obtém as formas que têm os tipos especificados. |
| get |
Obtém a primeira forma nesta coleção. Gera um |
| get |
Obtém a primeira forma nesta coleção. Se esta coleção estiver vazia, este método devolverá um objeto com a respetiva |
| group() | Agrupa formas flutuantes nesta coleção, as formas inline serão ignoradas. Devolve um |
| load(options) | Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
| load(property |
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
| load(property |
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar |
| toJSON() | Substitui o método JavaScript |
| track() | Acompanha o objeto para ajuste automático com base nas alterações adjacentes no documento. Esta chamada é uma abreviatura de context.trackedObjects.add(thisObject). Se estiver a utilizar este objeto entre |
| untrack() | Libere a memória associada a este objeto, se ele já tiver sido rastreado anteriormente. Esta chamada é abreviada para context.trackedObjects.remove(thisObject). Ter muitos objetos rastreados desacelera o aplicativo host, por isso, lembre-se de liberar todos os objetos adicionados após usá-los. Terá de chamar |
Detalhes da propriedade
context
O contexto do pedido associado ao objeto . Esta ação liga o processo do suplemento ao processo da aplicação anfitriã do Office.
context: RequestContext;
Valor da propriedade
items
Obtém os itens filhos carregados nesta coleção.
readonly items: Word.Shape[];
Valor da propriedade
Detalhes do método
getByGeometricTypes(types)
Obtém as formas que têm os tipos geométricos especificados. Aplicado apenas a formas geométricas.
getByGeometricTypes(types: Word.GeometricShapeType[]): Word.ShapeCollection;
Parâmetros
- types
Uma matriz de subtipos de formas geométricas.
Retornos
Comentários
[ Conjunto de API: WordApiDesktop 1.2 ]
Exemplos
// 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)
Obtém uma forma pelo respetivo identificador. Gera um ItemNotFound erro se não existir uma forma com o identificador nesta coleção.
getById(id: number): Word.Shape;
Parâmetros
- id
-
number
Um identificador de forma.
Retornos
Comentários
getByIdOrNullObject(id)
Obtém uma forma pelo respetivo identificador. Se não existir uma forma com o identificador nesta coleção, este método devolverá um objeto com a respetiva isNullObject propriedade definida como true. Para obter mais informações, veja *OrNullObject methods and properties (Métodos e propriedades do OrNullObject).
getByIdOrNullObject(id: number): Word.Shape;
Parâmetros
- id
-
number
Um identificador de forma.
Retornos
Comentários
getByIds(ids)
Obtém as formas pelos identificadores.
getByIds(ids: number[]): Word.ShapeCollection;
Parâmetros
- ids
-
number[]
Uma matriz de identificadores de formas.
Retornos
Comentários
getByNames(names)
Obtém as formas que têm os nomes especificados.
getByNames(names: string[]): Word.ShapeCollection;
Parâmetros
- names
-
string[]
Uma matriz de nomes de formas.
Retornos
Comentários
getByTypes(types)
Obtém as formas que têm os tipos especificados.
getByTypes(types: Word.ShapeType[]): Word.ShapeCollection;
Parâmetros
- types
Uma matriz de tipos de formas.
Retornos
Comentários
[ Conjunto de API: WordApiDesktop 1.2 ]
Exemplos
// 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()
Obtém a primeira forma nesta coleção. Gera um ItemNotFound erro se esta coleção estiver vazia.
getFirst(): Word.Shape;
Retornos
Comentários
[ Conjunto de API: WordApiDesktop 1.2 ]
Exemplos
// 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()
Obtém a primeira forma nesta coleção. Se esta coleção estiver vazia, este método devolverá um objeto com a respetiva isNullObject propriedade definida como true. Para obter mais informações, veja *OrNullObject methods and properties (Métodos e propriedades do OrNullObject).
getFirstOrNullObject(): Word.Shape;
Retornos
Comentários
[ Conjunto de API: WordApiDesktop 1.2 ]
Exemplos
// 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()
Agrupa formas flutuantes nesta coleção, as formas inline serão ignoradas. Devolve um Shape objeto que representa o novo grupo de formas.
group(): Word.Shape;
Retornos
Comentários
[ Conjunto de API: WordApiDesktop 1.2 ]
Exemplos
// 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)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync() antes de ler as propriedades.
load(options?: Word.Interfaces.ShapeCollectionLoadOptions & Word.Interfaces.CollectionLoadOptions): Word.ShapeCollection;
Parâmetros
Fornece opções para as propriedades do objeto a carregar.
Retornos
load(propertyNames)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync() antes de ler as propriedades.
load(propertyNames?: string | string[]): Word.ShapeCollection;
Parâmetros
- propertyNames
-
string | string[]
Uma cadeia delimitada por vírgulas ou uma matriz de cadeias que especificam as propriedades a carregar.
Retornos
load(propertyNamesAndPaths)
Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync() antes de ler as propriedades.
load(propertyNamesAndPaths?: OfficeExtension.LoadOption): Word.ShapeCollection;
Parâmetros
- propertyNamesAndPaths
- OfficeExtension.LoadOption
propertyNamesAndPaths.select é uma cadeia delimitada por vírgulas que especifica as propriedades a carregar e propertyNamesAndPaths.expand é uma cadeia delimitada por vírgulas que especifica as propriedades de navegação a carregar.
Retornos
toJSON()
Substitui o método JavaScript toJSON() para fornecer uma saída mais útil quando um objeto de API é transmitido para JSON.stringify(). (JSON.stringifypor sua vez, chama o toJSON método do objeto que lhe é transmitido.) Enquanto o objeto original Word.ShapeCollection é um objeto de API, o toJSON método devolve um objeto JavaScript simples (escrito como Word.Interfaces.ShapeCollectionData) que contém uma matriz de "itens" com cópias rasas de quaisquer propriedades carregadas dos itens da coleção.
toJSON(): Word.Interfaces.ShapeCollectionData;
Retornos
track()
Acompanha o objeto para ajuste automático com base nas alterações adjacentes no documento. Esta chamada é uma abreviatura de context.trackedObjects.add(thisObject). Se estiver a utilizar este objeto entre .sync chamadas e fora da execução sequencial de um lote ".run" e receber um erro "InvalidObjectPath" ao definir uma propriedade ou invocar um método no objeto, terá de adicionar o objeto à coleção de objetos controlados quando o objeto foi criado pela primeira vez. Se este objeto fizer parte de uma coleção, também deve controlar a coleção principal.
track(): Word.ShapeCollection;
Retornos
untrack()
Libere a memória associada a este objeto, se ele já tiver sido rastreado anteriormente. Esta chamada é abreviada para context.trackedObjects.remove(thisObject). Ter muitos objetos rastreados desacelera o aplicativo host, por isso, lembre-se de liberar todos os objetos adicionados após usá-los. Terá de chamar context.sync() antes de a libertação da memória ser aplicada.
untrack(): Word.ShapeCollection;