Объект 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 и обратная связь.