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


Объект InlineShapes (Издатель)

Содержит коллекцию объектов Shape , представляющих объекты на слое документа, где Shape.IsInline имеет значение True. Коллекция фигур ограничена фигурами в пределах заданного текстового диапазона.

Замечания

Коллекция InlineShapes доступна только в объекте TextRange :

  • С помощью TextFrame.Story.TextRange.InlineShapes возвращаются все встроенные фигуры в текстовом фрейме, включая фигуры, которые переполнены.
  • Использование TextFrame.TextRange.InlineShapes возвращает только видимые встроенные фигуры в текстовом фрейме, а не те, которые переполнены.

Доступ к коллекции InlineShapes также можно получить из Document.Stories(i). TextRange, где i — индекс активной страницы публикации.

Коллекция InlineShapes недоступна в коллекции Page.Shapes , в том числе в ней содержится ShapeRange.

Используйте свойство InlineShapes объекта TextRange , чтобы вернуть коллекцию InlineShapes .

Используйте метод Item (index) для возврата одной встроенной фигуры.

Используйте метод Shapes.Range , чтобы вернуть объект ShapeRange , содержащий все члены коллекции InlineShapes . Массив индексов или строк или один индекс или строка можно передать в качестве параметра свойства Range для выбора определенных фигур или фигур в диапазоне.

Пример

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

Dim theShape As Shape 
 
Set theShape = ActiveDocument.Pages(1).Shapes(1) 
 
With theShape.TextFrame.TextRange 
 If .InlineShapes.Count > 1 Then 
 .InsertAfter (" There is more than one inline shape in this text box.") 
 End If 
End With

Следующий пример находит третью встроенную фигуру в текстовом поле и переворачивает ее по вертикали.

Dim theShape As Shape 
 
Set theShape = ActiveDocument.Pages(1).Shapes(1) 
 
With theShape.TextFrame.Story.TextRange 
 With .InlineShapes(3) 
 .Flip (msoFlipVertical) 
 End With 
End With

В следующем примере задается переменная ShapeRange , равная коллекции встроенных фигур, которые существуют в текстовом поле. Каждая встроенная фигура в диапазоне затем каким-то образом изменяется. В этом примере предполагается, что первая фигура на странице является текстовым полем, содержащим три встроенные фигуры.

Dim theRange As ShapeRange 
 
Set theRange = ActiveDocument.Pages(1).Shapes(1) _ 
 .TextFrame.Story.TextRange.InlineShapes.Range 
 
With theRange 
 .Item(1).Flip msoFlipVertical 
 .Item(2).MoveOutOfTextFlow 
 .Item(3).Delete 
End With

Методы

Свойства

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.