Word.ShapeCollection class
Contém uma coleção do Word. Formar objetos. Atualmente, há suporte apenas para as seguintes formas: caixas de texto, formas geométricas, grupos, imagens e telas.
- Extends
Comentários
Conjunto de APIs: WordApiDesktop 1.2
Usada por
- Word. Corpo: formas
- Word. Tela: formas
- Word. Parágrafo: formas
- Word. Gama: formas
- Word. ShapeGroup: formas, desagrupar
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 de solicitação associado ao objeto. Isso conecta o processo do suplemento ao processo do aplicativo host 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 |
Recebe uma forma por seu identificador. Lançará um |
| get |
Recebe uma forma por seu identificador. Se não houver uma forma com o identificador nesta coleção, esse método retornará um objeto com sua |
| 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. Lançará um |
| get |
Obtém a primeira forma nesta coleção. Se essa coleção estiver vazia, esse método retornará um objeto com sua |
| group() | Agrupa formas flutuantes nesta coleção, as formas embutidas serão ignoradas. Retorna 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. Essa chamada é uma abreviação de context.trackedObjects.add(thisObject). Se você estiver usando esse objeto entre |
| untrack() | Libere a memória associada a este objeto, se ele já tiver sido rastreado anteriormente. Essa chamada é a forma abreviada de 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. Você precisará ligar |
Detalhes da propriedade
context
O contexto de solicitação associado ao objeto. Isso conecta o processo do suplemento ao processo do aplicativo host 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 APIs: 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)
Recebe uma forma por seu identificador. Lançará um ItemNotFound erro se não houver 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)
Recebe uma forma por seu identificador. Se não houver uma forma com o identificador nesta coleção, esse método retornará um objeto com sua isNullObject propriedade definida como true. Para obter mais informações, consulte métodos e propriedades *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 forma.
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 forma.
Retornos
Comentários
Conjunto de APIs: 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. Lançará um ItemNotFound erro se essa coleção estiver vazia.
getFirst(): Word.Shape;
Retornos
Comentários
Conjunto de APIs: 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 essa coleção estiver vazia, esse método retornará um objeto com sua isNullObject propriedade definida como true. Para obter mais informações, consulte métodos e propriedades *OrNullObject.
getFirstOrNullObject(): Word.Shape;
Retornos
Comentários
Conjunto de APIs: 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 embutidas serão ignoradas. Retorna um Shape objeto que representa o novo grupo de formas.
group(): Word.Shape;
Retornos
Comentários
Conjunto de APIs: 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 quais propriedades do objeto devem ser carregadas.
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 de caracteres delimitada por vírgula ou uma matriz de cadeias de caracteres que especifica as propriedades a serem carregadas.
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 de caracteres delimitada por vírgula que especifica as propriedades a serem carregadas e propertyNamesAndPaths.expand é uma cadeia de caracteres delimitada por vírgula que especifica as propriedades de navegação a serem carregadas.
Retornos
toJSON()
Substitui o método JavaScript toJSON() para fornecer uma saída mais útil quando um objeto de API é passado para JSON.stringify(). (JSON.stringify, por sua vez, chama o toJSON método do objeto que é passado para ele.) Enquanto o objeto original Word.ShapeCollection é um objeto API, o toJSON método retorna um objeto JavaScript simples (digitado como Word.Interfaces.ShapeCollectionData) que contém uma matriz "items" com cópias superficiais de todas as 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. Essa chamada é uma abreviação de context.trackedObjects.add(thisObject). Se você estiver usando esse 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, precisará adicionar o objeto à coleção de objetos rastreados quando o objeto foi criado pela primeira vez. Se esse objeto fizer parte de uma coleção, você também deverá acompanhar a coleção pai.
track(): Word.ShapeCollection;
Retornos
untrack()
Libere a memória associada a este objeto, se ele já tiver sido rastreado anteriormente. Essa chamada é a forma abreviada de 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. Você precisará ligar context.sync() antes que a liberação de memória entre em vigor.
untrack(): Word.ShapeCollection;