向每张幻灯片添加蓝色三角形-填充不起作用

时间:2018-08-21 02:04:18

标签: vba powerpoint shape fill

我在每个可见的演示文稿幻灯片中添加了一个小蓝色三角形,该幻灯片会在所有其他动画之后消失。当进行演示时,这是视觉提示,这是我在幻灯片上的最后一个动画。这样,在我完成当前幻灯片之前,就不必打遥控器并前进到下一张幻灯片。 我尝试使用以下宏:

Sub AddTriangleShape()
    Dim osld As slide
    Dim oSh As Shape

    For Each osld In ActivePresentation.Slides
        If osld.SlideShowTransition.Hidden Then
        Else
            Set oSh = osld.Shapes.AddShape(msoShapeRightTriangle, 947, 529, 6, 6)

            With oSh
                .Line.ForeColor.RGB = RGB(0, 0, 255)
                .Fill.ForeColor.RGB = RGB(0, 0, 255)

                .BlackWhiteMode = msoBlackWhiteDontShow
                .Flip (msoFlipHorizontal)
                .Name = "@END@"
                .AnimationSettings.EntryEffect = ppEffectDissolve
                .AnimationSettings.AdvanceMode = ppAdvanceOnTime
                .AnimationSettings.AdvanceTime = 0
            End With
        End If

    Next osld
End Sub

似乎无法使用两种功能。蓝色实心填充似乎无法正常工作,并且动画窗格中的动画显示三角形应该在上一次形状动画之后自动显示,但是在幻灯片放映模式下,幻灯片本身在我更改为滑动。我必须以错误的方式做一些非常简单的事情。有提示吗?

1 个答案:

答案 0 :(得分:1)

如上所述,Steve指出在设置前景颜色之前,我需要.Fill.Visible。动画部分比较棘手。在形状上执行AnimationSettings会引起所有类型的问题。我需要声明一个效果,然后使用要溶解的效果ID,使用触发AfterPrevious和Index -1(最后一个),使用溶解的effectid为该形状使用TimeLine.MainSequence.AddEffect在osld上设置效果。完整代码如下所示。现在为我工作。 我首先删除所有现有的@ END @三角形,然后添加新的@ END @三角形。这使我可以添加更多动画,然后重新运行宏以将三角形动画放在最后。

- hosts: nfs_server
  name: Print variables defined earlier
  tasks:
- debug: var=hostvars["{{ item }}"]['temp_file']['path']
  loop: "{{ hostvars['localhost']['groups']['webserver_host'] }}"