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

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

getByGeometricTypes(types)

Obtém as formas que têm os tipos geométricos especificados. Aplicado apenas a formas geométricas.

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.

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.

getByIds(ids)

Obtém as formas pelos identificadores.

getByNames(names)

Obtém as formas que têm os nomes especificados.

getByTypes(types)

Obtém as formas que têm os tipos especificados.

getFirst()

Obtém a primeira forma nesta coleção. Lançará um ItemNotFound erro se essa coleção estiver vazia.

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.

group()

Agrupa formas flutuantes nesta coleção, as formas embutidas serão ignoradas. Retorna um Shape objeto que representa o novo grupo de formas.

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(propertyNames)

Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync() antes de ler as propriedades.

load(propertyNamesAndPaths)

Coloca um comando na fila para carregar as propriedades especificadas do objeto. Você deve chamar context.sync() antes de ler as propriedades.

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.

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.

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.

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

Word.GeometricShapeType[]

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

Conjunto de APIs: WordApiDesktop 1.2

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

Conjunto de APIs: WordApiDesktop 1.2

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

Conjunto de APIs: WordApiDesktop 1.2

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

Conjunto de APIs: WordApiDesktop 1.2

getByTypes(types)

Obtém as formas que têm os tipos especificados.

getByTypes(types: Word.ShapeType[]): Word.ShapeCollection;

Parâmetros

types

Word.ShapeType[]

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

options

Word.Interfaces.ShapeCollectionLoadOptions & Word.Interfaces.CollectionLoadOptions

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;

Retornos