我有一个简单的宏,可让您在单击形状时循环显示形状并消失。
要使用宏,我必须将形状粘贴到一张空的幻灯片中。
我想改进宏并将其与其他形状的幻灯片一起使用,选择形状,然后将宏应用于它们,但不应用于其余未选定的形状。
有什么主意吗?谢谢
这是代码
one submit button in each form and change button type to submit
我有一个简单的宏,可让您在单击形状时循环显示形状并消失。
要使用宏,我必须将形状粘贴到一张空的幻灯片中。
我想改进宏并将其与其他形状的幻灯片一起使用,选择形状,然后将宏应用于它们,但不应用于其余未选定的形状。
有什么主意吗?谢谢
这是代码
one submit button in each form and change button type to submit
使用以下代码在活动幻灯片中获取所有选定的形状:
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