Word.ShapeCollection class

Содержит коллекцию Word. Придавайте форму объектам. В настоящее время поддерживаются только следующие фигуры: надписи, геометрические фигуры, группы, рисунки и холсты.

Extends

Комментарии

Набор API: WordApiDesktop 1.2

Используется

Примеры

// 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

Получает загруженные дочерние элементы в этой коллекции.

Методы

getByGeometricTypes(types)

Получает фигуры с указанными геометрическими типами. Применяется только к геометрическим фигурам.

getById(id)

Получает фигуру по ее идентификатору. Выдает ошибку, ItemNotFound если в этой коллекции нет фигуры с идентификатором.

getByIdOrNullObject(id)

Получает фигуру по ее идентификатору. Если в этой коллекции нет фигуры с идентификатором, этот метод вернет объект со isNullObject свойством true. Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.

getByIds(ids)

Получает фигуры по идентификаторам.

getByNames(names)

Получает фигуры с указанными именами.

getByTypes(types)

Получает фигуры указанных типов.

getFirst()

Получает первую фигуру в этой коллекции. Если эта коллекция пуста, возникает ItemNotFound ошибка.

getFirstOrNullObject()

Получает первую фигуру в этой коллекции. Если эта коллекция пуста, то этот метод вернет объект со свойством isNullObject , установленным в true. Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.

group()

Группирует перемещаемые фигуры в этой коллекции, встроенные фигуры будут пропущены. Возвращает объект, Shape представляющий новую группу фигур.

load(options)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNames)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

load(propertyNamesAndPaths)

Добавляет в очередь команду для загрузки указанных свойств объекта. Перед чтением свойств требуется вызвать метод context.sync().

toJSON()

Переопределяет метод JavaScript toJSON() , чтобы обеспечить более полезные выходные данные при передаче объекта API в JSON.stringify(). (JSON.stringify, в свою очередь, вызывает toJSON метод переданного ему объекта.) В то время как исходный Word.ShapeCollection объект является объектом API, toJSON метод возвращает простой объект JavaScript (типизированный как Word.Interfaces.ShapeCollectionData), который содержит массив «items» с неглубокими копиями любых загруженных свойств из элементов коллекции.

track()

Отслеживает объект для автоматической корректировки с учетом окружающих изменений в документе. Этот вызов является сокращением от context.trackedObjects.add(thisObject). Если вы используете этот объект во всех .sync вызовах и вне последовательного выполнения пакета ".run" и получаете сообщение об ошибке "InvalidObjectPath" при установке свойства или вызове метода объекта, необходимо добавить объект в коллекцию отслеживаемых объектов при его первом создании. Если этот объект является частью семейства, следует также отслеживать родительскую коллекцию.

untrack()

Освобождает память, связанную с этим объектом, если он ранее отслеживался. Этот вызов является сокращением от context.trackedObjects.remove(thisObject). Наличие большого количества отслеживаемых объектов замедляет ведущее приложение, поэтому не забывайте освобождать любые добавленные объекты после завершения их использования. Вам нужно позвонить context.sync() , прежде чем освобождение памяти вступит в силу.

Сведения о свойстве

context

Контекст запроса, связанный с объектом. Это соединяет процесс надстройки с процессом основного приложения Office.

context: RequestContext;

Значение свойства

items

Получает загруженные дочерние элементы в этой коллекции.

readonly items: Word.Shape[];

Значение свойства

Сведения о методе

getByGeometricTypes(types)

Получает фигуры с указанными геометрическими типами. Применяется только к геометрическим фигурам.

getByGeometricTypes(types: Word.GeometricShapeType[]): Word.ShapeCollection;

Параметры

types

Word.GeometricShapeType[]

Массив подтипов геометрических фигур.

Возвращаемое значение

Комментарии

Набор API: WordApiDesktop 1.2

Примеры

// 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

Идентификатор фигуры.

Возвращаемое значение

Комментарии

Набор API: WordApiDesktop 1.2

getByIdOrNullObject(id)

Получает фигуру по ее идентификатору. Если в этой коллекции нет фигуры с идентификатором, этот метод вернет объект со isNullObject свойством true. Дополнительные сведения см. в разделе Методы и свойства *OrNullObject.

getByIdOrNullObject(id: number): Word.Shape;

Параметры

id

number

Идентификатор фигуры.

Возвращаемое значение

Комментарии

Набор API: WordApiDesktop 1.2

getByIds(ids)

Получает фигуры по идентификаторам.

getByIds(ids: number[]): Word.ShapeCollection;

Параметры

ids

number[]

Массив идентификаторов фигур.

Возвращаемое значение

Комментарии

Набор API: WordApiDesktop 1.2

getByNames(names)

Получает фигуры с указанными именами.

getByNames(names: string[]): Word.ShapeCollection;

Параметры

names

string[]

Массив имен фигур.

Возвращаемое значение

Комментарии

Набор API: WordApiDesktop 1.2

getByTypes(types)

Получает фигуры указанных типов.

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

Параметры

types

Word.ShapeType[]

Массив типов фигур.

Возвращаемое значение

Комментарии

Набор API: WordApiDesktop 1.2

Примеры

// 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;

Возвращаемое значение

Комментарии

Набор API: WordApiDesktop 1.2

Примеры

// 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;

Возвращаемое значение

Комментарии

Набор API: WordApiDesktop 1.2

Примеры

// 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;

Возвращаемое значение

Комментарии

Набор API: WordApiDesktop 1.2

Примеры

// 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;

Параметры

options

Word.Interfaces.ShapeCollectionLoadOptions & Word.Interfaces.CollectionLoadOptions

Предоставляет параметры для загружаемых свойств объекта.

Возвращаемое значение

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;

Возвращаемое значение