【问题标题】:Copying shapes between PowerPoint 2007 presentations along with their animations在 PowerPoint 2007 演示文稿之间复制形状及其动画
【发布时间】:2011-03-13 02:20:19
【问题描述】:

我通过执行origShape.Copy 然后newSlide.Shapes.Paste() 以编程方式将整张幻灯片的形状复制到另一个演示文稿中的新幻灯片。 (很遗憾,在这里复制/粘贴整张幻灯片不适合我)

我的问题是动画效果真的被扭曲了。有些丢失了,有些则以错误的顺序出现。

我想也许在复制完所有形状后,我会遍历origSlide.TimeLine,并将每个动画效果复制到newSlide.TimeLine,并带有相应的形状。

有没有一种方法可以在形状之间复制动画效果而无需手动设置每个参数? (有很多)。

【问题讨论】:

    标签: vba vsto powerpoint


    【解决方案1】:

    当逐个形状复制到新幻灯片时,动画的顺序自然会被破坏。 例如,如果我们有以下动画序列:

    1. 矩形飞入
    2. 三角飞入
    3. 矩形飞出

    我们首先将 Rectangle 和 Triangle 复制到一张新幻灯片中,我们将首先获得矩形的动画,然后是三角形的动画。

    我的错误是试图通过使用 Shape.AnimationSettings 来解决这种混乱。

    小心 SHAPE.ANIMATIONSETTINGS!

    保留此属性只是为了向后兼容旧版本的 PowerPoint。如果您修改其中的任何字段,则除第一个形状之外的所有形状动画都会自动擦除!

    所以,解决方案是这样的: 将形状逐个复制到新幻灯片(没有动画丢失,只是顺序错误)。然后使用 Slide.TimeLine 遍历动画效果并使用 Effect.MoveTo 或 Sequence.Clone 和 Effect.Delete 正确排序。

    【讨论】:

    • 我花了很多时间和精力来解决这个问题并找出 Shape.AnimationSettings 的问题所在。然后我打扰并在这里发布了解决方案。我真的不喜欢这种“否决”——这个人既没有费心去理解复杂的问题,也没有理解解决方案。
    猜你喜欢
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    相关资源
    最近更新 更多