Поделиться через


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)

Получает фигуру по идентификатору. Если в этой коллекции нет фигуры с идентификатором, этот метод вернет объект со свойством isNullObjecttrue. Дополнительные сведения см. в разделе Методы и свойства *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)

Получает фигуру по идентификатору. Если в этой коллекции нет фигуры с идентификатором, этот метод вернет объект со свойством isNullObjecttrue. Дополнительные сведения см. в разделе Методы и свойства *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;

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