本文是一篇计算机论文范文,计算机类有关专科毕业论文开题报告,关于Powerpoint中的高级编程技巧相关硕士论文范文。适合计算机及如何获取及参考文献方面的的大学硕士和本科毕业论文以及计算机相关开题报告范文和职称论文写作参考文献资料下载。
摘 要:本文论述了通过编程在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跳转
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,对于演示者所需要的一些特定的演示效果,笔者也是习惯于通过程序来解决,效果非常不错.