Powerpoint中的高级编程技巧

点赞:5186 浏览:18203 近期更新时间:2024-03-24 作者:网友分享原创网站原创

摘 要:本文论述了通过编程在PowerPoint中实现特定目的演示的技巧.

关 键 词:PowerPoint,VBScript

中图分类号:TP317

在PowerPoint幻灯片的制作中,我们常常需要达到特定的演示效果.比如演示者需要显示和隐藏特定的图片或者区域,给需要强调的部分加边框或者变颜色,动态模拟一些特殊效果等等,可以通过不同的方式来实现.一般常见的方法是在PowerPoint中设置动画属性来实现,可是有时候设置动画属性满足不了一些要求.也可以通过加载控件或者在VBscript中加载窗口来实现,但是效果欠佳.最灵活但是也是最复杂的方法是直接在PowerPoint的幻灯片中加图片或者文字,通过VBA程序改变它们在PowerPoint中的属性,或应用其本身的方法来实现特定的演示效果.

下面我们看怎样通过第三种方法来实现图片的淡出.

首先,定义API

'延时

DeclareSubSleepLib"kernel32"(ByValdwMillisecondsAsLong)


'定时器

DeclareFunctionSetTimerLib"user32"(ByValhwndAsLong,ByValnIDEventAsLong,ByValuElapseAsLong,ByVallpTimerFuncAsLong)AsLong

'清除定时器

DeclareFunctionKillTimerLib"user32"(ByValhwndAsLong,ByValnIDEventAsLong)AsLong

PublicTimerIDAsLong

PublicLTimerCountAsLong

PublicFTMDAsSingle'定义通明度

'开启定时器

Sub开启定时器()

FTMD等于0#

LTimerCount等于0

TimerID等于SetTimer(0,0,200,AddressOfTimerProc)

EndSub

'定时器执行

SubTimerProc(ByValhwndAsLong,ByValuMsgAsLong,ByValidEventAsLong,ByValdwTimeAsLong)

LTimerCount等于LTimerCount+1

慢慢消失

If(LTimerCount>等于12)Then

TimerID等于KillTimer(0,TimerID)

Powerpoint中的高级编程技巧参考属性评定
有关论文范文主题研究: 计算机类论文范文 大学生适用: 高校毕业论文、学位论文
相关参考文献下载数量: 17 写作解决问题: 写作参考
毕业论文开题报告: 论文任务书、论文题目 职称论文适用: 杂志投稿、职称评初级
所属大学生专业类别: 写作参考 论文题目推荐度: 最新题目

'Powerpoint跳转

ActivePresentation.SlideShowWindow.View.GotoSlide3

EndIf

EndSub

'淡出

Sub慢慢消失()

IfFTMD<0.99Then

FTMD等于FTMD+0.1

EndIf

IfFTMD>1ThenFTMD等于0.99

ActivePresentation.Slides(1).Shapes(2).Fill.Transparency等于FTMD

EndSub

具体应用就是把开启定时器与对象的动作挂接就可以了,通过同样的方法也可以实现其他对象的淡入淡出.

这里有一个问题需要重视,即如何获取PowerPoint中对象的ID,笔者的做法是在对象属性的Web页中的可选文字中加入需要标记的文字,如下:

然后通过程序来获取该对象的ID,

DimSObjectWebNameAsString

DimiAsInteger

DimFindDestObjectAsObject

SetFindDestObject等于ActivePresentation.Slides(3)

SObjectWebName等于"需要标记的文字"

Fori等于1ToFindDestObject.Shapes.Count

IfFindDestObject.Shapes(i).AlternativeText等于SObjectWebNameThen

MsgBoxi

ExitFor

EndIf

Next

有了对象ID就可以随心所欲地通过编程应用该对象丰富的属性和方法来达到所需要的效果.

比如,如下程序在演示初始时隐藏我们标记的特定对象.

'显示背景图片

ActivePresentation.Slides(IIISlides).Shapes(1).Visible等于msotrue

‘在第5张幻灯片中隐藏标记文字的开始写了’PS’

forIIIFOR等于1toActivePresentation.Slides(5).Shapes.Count

ifleft(ActivePresentation.Slides(IIISlides).Shapes(IIIFOR).AlternativeText,3)等于"PS"then

ActivePresentation.Slides(5).Shapes(IIIFOR).Visible等于msoFalse

endif

next

笔者经常为企事业单位制作PowerPoint,对于演示者所需要的一些特定的演示效果,笔者也是习惯于通过程序来解决,效果非常不错.