具有选定形状的VBA宏Powerpoint

我有一个简单的宏,可让您在单击形状时循环显示形状并消失。

要使用宏,我必须将形状粘贴到一张空的幻灯片中。

我想改进宏并将其与其他形状的幻灯片一起使用,选择形状,然后将宏应用于它们,但不应用于其余未选定的形状。

有什么主意吗?谢谢

这是代码

one submit button in each form and change button type to submit
w602350769 回答:具有选定形状的VBA宏Powerpoint

使用以下代码在活动幻灯片中获取所有选定的形状:

Dim Shp As Shape
For Each Shp In ActiveWindow.Selection.ShapeRange
'Put code for action on each shape here

Next

如果要使用计数器:

Dim Shp As Shape,SelectedShapes as Shapes

Set SelectedShapes = ActiveWindow.Selection.ShapeRange
For i=1 to SelectedShapes.Count
Set Shp = SelectedShapes(i)
'Put code for action on each shape here

Next
,

谢谢,根据您的计数器模式,我可以根据需要使宏工作

Sub Createanimation()

Set oSld = Application.ActiveWindow.View.Slide


Dim Shp As Shape,SelectedShapes As Shapes

Z = ActiveWindow.Selection.ShapeRange.Count


For i = 1 To Z

Set oEffect1 = oSld.TimeLine.InteractiveSequences.Add.AddEffect(Shape:=ActiveWindow.Selection.ShapeRange(i),effectId:=msoAnimEffectAppear,Trigger:=msoAnimTriggerOnShapeClick)
    If i = 1 Then
    oEffect1.Timing.TriggerShape = ActiveWindow.Selection.ShapeRange(Z)
    Else
    oEffect1.Timing.TriggerShape = ActiveWindow.Selection.ShapeRange(i - 1)
    End If
    oEffect1.Timing.TriggerType = msoAnimTriggerWithPrevious



Set oEffect2 = oSld.TimeLine.InteractiveSequences.Add.AddEffect(Shape:=ActiveWindow.Selection.ShapeRange(i),Trigger:=msoAnimTriggerOnShapeClick)
    oEffect2.Exit = msoCTrue
    oEffect2.Timing.TriggerShape = ActiveWindow.Selection.ShapeRange(i)
    oEffect2.Timing.TriggerType = msoAnimTriggerWithPrevious

Next i

ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles,msoTrue
ActiveWindow.Selection.ShapeRange.Align msoAlignCenters,msoTrue


End Sub

本文链接:https://www.f2er.com/3161372.html

大家都在问