VBA/Excel/Access/Word/PowerPoint/Slide Shape

Материал из VB Эксперт
Перейти к: навигация, поиск

add a bent-up arrow to the upper-right corner of the penultimate slide in the active presentation:

Sub bendUp()
    ActivePresentation.Slides(ActivePresentation.Slides.Count 1) _
        .Shapes.AddShape Type:=msoShapeBentUpArrow, Left:=575, Top:=10, _
        Width:=150, Height:=75
End Sub

Copying Formatting from One Shape to Another

Sub active()
    With ActivePresentation
    End With
End Sub

Deleting a Shape

Sub del()
End Sub

Finding Out Whether a Shape Has a Text Frame

Sub shape()
    If ActivePresentation.Slides(1).Shapes(1).HasTextFrame = msoTrue Then
        MsgBox "The shape contains a text frame."
    End If
End Sub

Repositioning and Resizing a Shape

Sub pos()
    With ActivePresentation.Slides(1).Shapes(1)
        .Left = 200
        .Top = 100
        .Width = 300
        .Height = 200
    End With
End Sub

Selecting All Shapes

Sub select()
End Sub

Setting an Animation for a Shape or a Range of Shapes

"Applies a custom animation to the first shape on the slide.
Sub setting()
    With ActiveSlide.Shapes(1).AnimationSettings
        .EntryEffect = ppEffectFlyFromRight
        .AdvanceMode = ppAdvanceOnClick
        .SoundEffect.ImportFromFile FileName:="D:\Whistle.wav"
        .TextLevelEffect = ppAnimateByFirstLevel
        .TextUnitEffect = ppAnimateByParagraph
    End With
End Sub

Works with the first shape on the third slide of the presentation, moving it 100 points to the left and 200 points down, and rotating it 90 degrees counterclockwise:

Sub shape()
    With ActivePresentation.Slides(3).Shapes(1)
        .IncrementLeft Increment:=-100
        .IncrementTop Increment:=200
        .IncrementRotation Increment:=-90
    End With
End Sub