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


Объект Shapes (PowerPoint)

Коллекция всех объектов Shape на указанном слайде.

Замечания

Каждый объект Shape представляет объект на слое рисования, например автофигуру, свободную форму, объект OLE или рисунок.

Примечание.

Если вы хотите работать с подмножеством фигур в документе( например, для выполнения действий только с автофигурами в документе или только с выбранными фигурами), необходимо создать коллекцию ShapeRange , содержащую фигуры, с которыми вы хотите работать. Общие сведения о том, как работать с одной фигурой или с несколькими фигурами одновременно, см. в статье Практическое руководство. Работа с фигурами (объекты рисования).

Пример

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

ActivePresentation.Slides(1).Shapes.SelectAll

Примечание.

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

Используйте метод AddCallout, AddComment, AddConnector, AddCurve, AddLabel, AddLine, AddMediaObject, AddOLEObject, AddPicture, AddPlaceholder, AddPolyline, AddShape, AddTable, AddTextbox, AddTextEffect или AddTitle, чтобы создать новую фигуру и добавить ее в коллекцию Shapes . Используйте метод BuildFreeformв сочетании с методом ConvertToShape, чтобы создать новую свободную форму и добавить ее в коллекцию. В следующем примере к активной презентации добавляется прямоугольник.

ActivePresentation.Slides(1).Shapes.AddShape Type:=msoShapeRectangle, _

    Left:=50, Top:=50, Width:=100, Height:=200

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

ActivePresentation.Slides(1).Shapes(1).Fill _

    .PresetGradient Style:=msoGradientHorizontal, Variant:=1, _

    PresetGradientType:=msoGradientBrass

Используйте Shapes.Range (index), где индекс — это имя или номер индекса фигуры или массив имен фигур или номеров индексов, чтобы вернуть коллекцию ShapeRange , представляющую подмножество коллекции Shapes . В следующем примере задается шаблон заливки для фигур одной и трех в активной презентации.

ActivePresentation.Slides(1).Shapes.Range(Array(1, 3)).Fill _

    .Patterned Pattern:=msoPatternHorizontalBrick

Используйте Shapes.Placeholders (index), где index — это номер заполнителя, чтобы вернуть объект Shape , представляющий заполнитель. Если у указанного слайда есть заголовок, используйте Shapes.Placeholders(1) или Shapes.Title , чтобы вернуть заполнитель заголовка. В следующем примере слайд добавляется в активную презентацию, а затем текст добавляется как к заголовку, так и к подзаголовку (подзаголовок является вторым заполнителем на слайде с этим макетом).

With ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle).Shapes

    .Title.TextFrame.TextRange = "This is the title text"

    .Placeholders(2).TextFrame.TextRange = "This is subtitle text"

End With

Методы

Имя
AddCallout
AddChart2
AddConnector
AddCurve
AddInkShapeFromXML
AddLabel
AddLine
AddMediaObject2
AddMediaObjectFromEmbedTag
AddOLEObject
AddPicture
AddPicture2
AddPlaceholder
AddPolyline
AddShape
AddSmartArt
AddTable
AddTextbox
AddTextEffect
Add3DModel
AddTitle
BuildFreeform
Item
Paste
PasteSpecial
Range
SelectAll

Свойства

Имя
Application
Count
Creator
HasTitle
Parent
Placeholders
Title

См. также

Справочник по объектной модели PowerPoint

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

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