如何用PowerPoint VBA使带打字机效果的文本框平滑上移?
解决文本框点击后消失而非平滑上移的问题
问题根源在于文本框已有的打字机进入动画和你添加的路径动画属性冲突:PowerPoint默认会让带进入动画的对象,在后续动画结束后回到初始隐藏状态,所以点击按钮后文本框直接消失,而非执行上移动画。
修正后的代码
Private Sub Button_Click() Dim objSequence As Sequence Dim objTxt1 As Shape Dim objEffect1 As Effect Dim sld As Slide Set sld = ActivePresentation.Slides(3) Set objTxt1 = sld.Shapes("TxtPrint") Set objSequence = sld.TimeLine.MainSequence ' 直接添加路径上移动画,触发方式设为点击 Set objEffect1 = objSequence.AddEffect(Shape:=objTxt1, _ effectID:=msoAnimEffectPathUp, _ trigger:=msoAnimTriggerOnClick) ' 强制设置动画结束后文本框保持可见 objEffect1.Timing.AfterEffect = msoAnimAfterEffectNone End Sub
关键修改说明
- 去掉先添加
msoAnimEffectFloat再修改EffectType的冗余操作,直接指定msoAnimEffectPathUp作为动画ID,避免残留不必要的默认动画属性。 - 通过
AfterEffect = msoAnimAfterEffectNone强制文本框在动画结束后保持显示状态,不会回到进入动画前的隐藏初始状态。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

