|
先来说点基本知识:
1.什么是VBA?
VBA是微软专门为OFFICE开发的一个自动化语言。什么是自动化语言?就是你想要OFFICE程序比如PPT做一个什么事情,你不能象我们平时说话那样,“唉,那个PPT,帮我把这张图片放大一倍“,PPT听不懂,必须得用它听得懂的语言跟它说,它才帮你做事。所以我们想要跟PPT对话,得先学习它的语言,这个语言的名字就叫做VBA。跟学习英语一样,VBA也有自己的语法什么的,但是英语8级你都可以考过,VBA算什么,它用到的关键字还不到几百个,常用的也就这么几十个,比起英语来拿简直太小儿科了,而且还不用开口讲。
2.VBA写在哪里?
既然不用开口讲,那就只能书面交流了。你要把你说的话写在哪里呢?我们先新建一个PPT,在第一个页面,注意是第一个页面状态下,选择菜单--视图--工具栏--控件工具箱,把控件工具箱调出来,上面有很多东东,不管它了,以后慢慢研究。先单击按钮,在PPT上再单击一下,页面上就多了个按钮出来。选中它按鼠标右键,选查看代码,跳出了一个窗口,在窗口的左边,你应该用看到”VBAProject(演示文稿1)“这样一个东西,下面还有一个Slide1这样的字眼,双击Slide1,右边空白的地方就是写VBA的留言板了。当然这样的方法不是正规的,但很直观。在VBA中,Slide1的意思就是该PPT第一页,同理Slide2就是第二页。所以在Slide1中写VBA,PPT只会在第一页中帮你做事,到第二页就不灵了。如果你想在所有PPT的页面中你的命令全部有效,那得插入模块,在模块中写,但我们今天做的这个东西偏偏就只有一页,所以不用管模块了,就在Slide1中写吧。
好了,基本知识就这么多了,来看看我们要做的东西吧。我们想做一个图片展示系统,就是网上很多的那样,单击小图出大图和说明,大概的样子象图示这样:
分析功能:
1.单击小图,小图消失,大图出现,说明文字出现。
2.单击关闭,大图,说明文字消失,小图归位。
核心的代码其实只有2段,先贴出来
===========================
Sub One()
Shapes(6).Visible = True
Shapes(1).Top = 150
Shapes(1).Left = 230
Shapes(1).Width = 262
Shapes(1).Height = 209
Shapes(8).Visible = True
End Sub
==========================
这是点击小图出大图的代码,简单吧,什么意思呢?
1.Sub One()
End Sub
这是固定格式,所有的功能都以Sub xx()开始,以End Sub结束,这个XX可以自己命名,但不能乱取,比如数字就不可以,这里因为我是想单击第一张图片实现功能,所以取了个One.
2.Shapes(6).Visible = True
Shapes就是在ppt页面中的元素,一张图片叫Shapes,一个文本框也叫Shapes,大家都叫Shapes,那怎么区分呢?比如我们上面说的“唉,那个PPT,帮我把这张图片放大一倍“,这张图片是哪张图片?所以具体到每个Shapes,后面还要跟个(),括号里面的数字代表哪个。这个数字怎么来?是这样的,比如图片,第一张插入的就是1,第二张插入的就是2,但是要注意,如果你把二张图片的叠放次序改了,第二张图片放在了第一张图片的上面,那么第二张插入的图片就变成了Shapes(1)了。所以其实在PPT中在最顶层的那个元素就是1,以此类推。
Visible的意思就是看得见,True就是真,要是看不见呢?就是Flase,整句话的意思就是“唉,把第六层的那个东东显示出来。”在本例中Shapes(6)就是指大图的背景框
3.Shapes(1).Top = 150
Shapes(1).Left = 230
Shapes(1).Width = 262
Shapes(1).Height = 209
Shapes(8).Visible = True
有了2的解释,3就很容易了,就是把第一张图片的位置设成离顶部150,离左边230,宽262,高209,Spapes(8).Visible=Ture的意思就是把第一张图片的说明文字显示出来。因为在本例中第一张图片的说明文字是放在第8层。
写完代码后怎么调用呢?
在ppt页面中选中第一张图片,鼠标右键--动作设置,选择单击鼠标--运行宏,把Slide1.One选上就可以了。
还有一段代码是实现小图归位的,这里就不罗嗦了,下了DEMO慢慢看吧。
很希望看完这篇小文后,你会觉得VBA其实不难,接着有兴趣深入,那正是我希望的。 |
-
|