注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Oh! I see you!

Hi! ppmm~~

 
 
 

日志

 
 

用vba宏制作生成PowerPoint动画  

2012-04-11 02:17:45|  分类: Office |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

本文链接:http://oicu.cc.blog.163.com/blog/static/12303947120123112825771/

自从用了PowerPoint 2010之后,制作动画的过程是比以前方便了些,但也有退步的地方,
比如“压缩”等一部分动画不能再选择使用,固然可以用PowerPoint 2007编辑文件添加
动画,但担心用不同版本的Office编辑文件后会出现小兼容问题,怎么办呢?自己动手,
丰衣足食,使用vba宏功能做自定义动画,调用那些被“隐藏”的动画效果。以下是添加
动画的宏示例,要更换动画效果只需设置effectid,之后附一个effectid和动画中文名
称的对照表,这对照表可是我辛辛苦苦一个个试出来的……

Option Explicit

' 根据选择的顺序
Sub AddEffect()
    On Error GoTo ErrHandler:
    Dim effDiamond As Effect
'   Dim Delay As Double
    Dim nCount As Long
    Dim i%
'   by oicu
'   Delay =
0
    nCount = ActiveWindow.Selection.ShapeRange.Count

    Set effDiamond = ActiveWindow.Selection.SlideRange(1). _
        TimeLine.MainSequence.AddEffect( _
        shape:=ActiveWindow.Selection.ShapeRange(1), _
        effectid:=msoAnimEffectStretchy, _
        trigger:=msoAnimTriggerOnPageClick)   '单击时
'   effDiamond.Exit = msoTrue '设置为“退出”动画

    If nCount > 1 Then
        For i = 2 To nCount
            Set effDiamond = ActiveWindow.Selection.SlideRange(1). _
                TimeLine.MainSequence.AddEffect( _
                shape:=ActiveWindow.Selection.ShapeRange(i), _
                effectid:=msoAnimEffectStretchy, _
                trigger:=msoAnimTriggerWithPrevious) '与上一动画同时
'           effDiamond.Exit = msoTrue '设置为“退出”动画
'           With effDiamond.Timing
'               .Duration = 0.5
'               .TriggerDelayTime = Delay
'           End With
'           Delay = Delay + 0.5
        Next i
    End If
'   by oicu
ErrHandler
:
    If Err.Number = -2147188160 Then
        MsgBox "未选择任何形状."
'       Resume
    End If
End Sub

 

' 根据选择窗格的顺序
Sub AddEffect2()
    Dim effDiamond As Effect
    Dim i%
    For i = 1 To 1 ' 需要手动定义范围
        Set effDiamond = ActiveWindow.Selection.SlideRange(1). _
            TimeLine.MainSequence.AddEffect( _
            Shape:=ActiveWindow.Selection.SlideRange(1).Shapes.Item(i), _
            effectid:=msoAnimEffectBoldReveal, _
            trigger:=msoAnimTriggerWithPrevious)
'       effDiamond.Exit = msoTrue
    Next i
End Sub

 

' 示例:Loading Bar从0到100数字跳动的宏,需要先复制101个文本框
Sub ChangeNum()
    Dim effDiamond As Effect
    Dim Delay As Double
    Dim i%
    Delay = 0
    For i = 6 To 106 ' 假设前5个不处理
        ActiveWindow.Selection.SlideRange(1).Shapes.Item(i). _
            TextFrame.TextRange.Text = i - 6 ' 设置文本框内容
        Set effDiamond = ActiveWindow.Selection.SlideRange(1). _
            TimeLine.MainSequence.AddEffect( _
            Shape:=ActiveWindow.Selection.SlideRange(1).Shapes.Item(i), _
            effectid:=msoAnimEffectAppear, _
            trigger:=msoAnimTriggerWithPrevious)
        With effDiamond.Timing
            .TriggerDelayTime = Delay
        End With
        Set effDiamond = ActiveWindow.Selection.SlideRange(1). _
            TimeLine.MainSequence.AddEffect( _
            Shape:=ActiveWindow.Selection.SlideRange(1).Shapes.Item(i), _
            effectid:=msoAnimEffectFade, _
            trigger:=msoAnimTriggerWithPrevious)
        effDiamond.Exit = msoTrue
        With effDiamond.Timing
            .Duration = 0.1
            .TriggerDelayTime = Delay
        End With
        Delay = Delay + 0.1
    Next i
End Sub

 

effectid和动画效果中文名称对照表
by oicu#lsxk.org
http://msdn.microsoft.com/en-us/library/bb265609(v=office.12).aspx

进入动画:
msoAnimEffectAppear 出现
msoAnimEffectArcUp 曲线向上
msoAnimEffectAscend 浮入(上浮)
msoAnimEffectBlinds 百叶窗
msoAnimEffectBoomerang 飞旋
msoAnimEffectBounce 弹跳
msoAnimEffectBox 盒状
msoAnimEffectCenterRevolve 中心旋转
msoAnimEffectCheckerboard 棋盘
msoAnimEffectCircle 形状(圆形扩展)
msoAnimEffectColorReveal 颜色打字机
msoAnimEffectCrawl 缓慢进入
msoAnimEffectCredits 字幕式
msoAnimEffectCustom 自定义
msoAnimEffectDescend 浮入(下浮)
msoAnimEffectDiamond 形状(菱形)
msoAnimEffectDissolve 向内溶解
msoAnimEffectEaseIn 渐入
msoAnimEffectExpand 展开
msoAnimEffectFade 淡出
msoAnimEffectFadedSwivel 旋转
msoAnimEffectFadedZoom 缩放
msoAnimEffectFlashOnce 闪烁一次
msoAnimEffectFlip 空翻
msoAnimEffectFloat 浮动
msoAnimEffectFly 飞入
msoAnimEffectFold 折叠
msoAnimEffectGlide 滑翔
msoAnimEffectGrowAndTurn 翻转式由远及近
msoAnimEffectLightSpeed 光速
msoAnimEffectPeek 切入
msoAnimEffectPinwheel 玩具风车
msoAnimEffectPlus 形状(十字形扩展)
msoAnimEffectRandomBars 随机线条
msoAnimEffectRandomEffects 随机效果
msoAnimEffectRiseUp 升起
msoAnimEffectSling 投掷
msoAnimEffectSpinner 回旋
msoAnimEffectSpiral 螺旋飞入
msoAnimEffectSplit 劈裂
msoAnimEffectStretch 伸展
msoAnimEffectStretchy 压缩
msoAnimEffectStrips 阶梯状
msoAnimEffectSwish 下拉
msoAnimEffectSwivel 基本旋转
msoAnimEffectThinLine 线条
msoAnimEffectUnfold 展开
msoAnimEffectWedge 锲入
msoAnimEffectWheel 轮子
msoAnimEffectWhip 挥鞭式
msoAnimEffectWipe 擦除
msoAnimEffectZip 放大
msoAnimEffectZoom 基本缩放


强调:
msoAnimEffectBlast 爆炸
msoAnimEffectBoldFlash 加粗闪烁
msoAnimEffectBoldReveal 加粗展示
msoAnimEffectBrushOnColor 画笔颜色
msoAnimEffectBrushOnUnderline 下划线
msoAnimEffectChangeFillColor 填充颜色
msoAnimEffectChangeFont 更改字体
msoAnimEffectChangeFontColor 字体颜色
msoAnimEffectChangeFontSize 更改字号
msoAnimEffectChangeFontStyle 更改字形
msoAnimEffectChangeLineColor 线条颜色
msoAnimEffectColorBlend 对象颜色
msoAnimEffectColorWave 彩色波纹
msoAnimEffectComplementaryColor 补色
msoAnimEffectComplementaryColor2 补色2
msoAnimEffectContrastingColor 对比色
msoAnimEffectDarken 加深
msoAnimEffectDesaturate 不饱和
msoAnimEffectFlashBulb 脉冲
msoAnimEffectFlicker 彩色脉冲
msoAnimEffectGrowShrink 放大/缩小
msoAnimEffectGrowWithColor 彩色延伸
msoAnimEffectLighten 变淡
msoAnimEffectShimmer 闪现
msoAnimEffectSpin 陀螺旋
msoAnimEffectStyleEmphasis 样式强调
msoAnimEffectTeeter 跷跷板
msoAnimEffectTransparency 透明
msoAnimEffectVerticalGrow 垂直突出显示
msoAnimEffectWave 波浪形


对于多媒体:
msoAnimEffectMediaPause 暂停
msoAnimEffectMediaPlay 播放
msoAnimEffectMediaStop 停止


动作路径(太多,又不常用,省略):
msoAnimEffectPath4PointStar 四角星
...
msoAnimEffectPathLeft 直线(向左)
...

  评论这张
 
阅读(11278)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018