巧用VBA实现PowerPoint课件中图片的批量插入
2010-10-10吴庆伟
☆ 吴庆伟
(济南市历城第三职业中专,山东济南 250113)
在PowerPoint课件中插入图片可以使课件更加活泼、生动、更具吸引力。然而,当需要批量插入图片时,“插入/图片”命令就显得繁琐而无趣。本文介绍了一种基于VBA的批量插入方法,很好地解决了这一问题。
一、引言
PowerPoint(简称PPT)是目前最常用的演示设计工具之一。它简单易用,功能完善,并有强大的多媒体功能,可以插入图片、声音、视频等文件,使得课件图、文、声、形并茂,更具吸引力。正是这些优点,使PowerPoint受到广泛的青睐。
在PowerPoint中插入图片的操作非常简单,通常执行“插入/图片/来自文件…”命令,找到需要插入的图片就可以,或者点击“格式/背景”命令,也可以把图片作为背景插入。然而,当遇到需要批量插入图片的情况时,上述方法就显得单调、繁琐、浪费时间了。幸好MS Office办公软件给我们提供了强大的宏功能,可以很好地解决这一问题。
二、VBA简介
VBA(Visual Basic For Applications)是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。VBA可以看做是Visual Basic的一个子集,但VBA又不同于VB。二者的区别主要体现在以下几个方面:
(1)VB用于开发设计标准的应用程序,而VBA通常是使已有的应用程序自动化,可以创建自定义的解决方案,适于定制已有的桌面应用程序。
(2)VB具有自己的开发环境,而VBA必须寄生于已有的应用程序(如Word,Excel,PowerPoint等)。
(3)要运行VB开发的应用程序,用户不必安装VB集成开发环境,因为VB开发出的应用程序是可执行文件(*.exe)。而VBA开发的程序必须依赖于它的父应用程序,例如 Word、PowerPoint等。
尽管存在这些区别,VBA和VB在结构上仍然十分相似。事实上,如果已经了解了VB,会发现学习VBA非常快。相应的,学完VBA会给学习VB打下坚实的基础。而且,当学会在PowerPoint中用VBA创建解决方案后,即已具备在 Word、Excel、Access、Outlook等中用 VBA 创建解决方案的大部分知识。因为在Microsoft产品系列中,VBA是相通的。
三、利用VBA实现PowerPoint课件中图片的批量插入
在PowerPoint课件中插入图片的方法,大家都已经掌握。下面就利用PowerPoint的VBA宏功能,一步步实现图片的批量插入。
1.准备需要插入的图片
将需要插入的图片准备好,放在一个文件夹里,并将图片依次有规律地命名。例如:在F盘下新建文件夹,名称为pictures,需要插入的所有图片都放在此文件夹里,并依次命名为“pic1”、“pic2”、“pic3”……
2.编写VBA宏命令
打开 PowerPoint2003,依次单击“工具/宏/Visual Basic编辑器”命令,或直接按下Alt+F11键,打开Visual Basic编辑器窗口(如图1)。
图1
在打开的Visual Basic编辑器窗口中,点击“插入/模块”菜单命令,在弹出的代码编辑窗口中输入以下代码:如图2。
图2
输入结束,点击关闭Visual Basic编辑器,输入的程序模块将自动保存。
这是一段简单的VB程序,稍有程序设计基础就可以看懂。
3.利用宏命令批量插入图片
回到PowerPoint编辑窗口,使用Ctrl+M快捷键新建与图片数目相等的多个空白幻灯片。然后选择“工具/宏/宏…”命令,或按下Alt+F8快捷键,打开宏对话框,选中我们上面建立的InsertPic宏,点击“运行”即可,多张图片很快就自动插入到幻灯片中(如图3)。
图3
4.添加“批量插入图片”按钮
如果需要经常在PowerPoint中批量插入图片,可以将编写的宏添加到工具栏上。单击菜单“工具/自定义”命令,打开“自定义”对话框并切换到“命令”选项卡,选中“类别”下边列表框中的“宏”选项,此时在“命令”列表框中就会出现我们刚才新添加的宏了(如图4)。
图4
拖动“InsertPic”宏到工具栏中的任意位置,松开鼠标后,在工具栏上就添加了一个名为“InsertPic”的按钮。右击该按钮可以自定义按钮的名称、背景等等。如可以将按钮改名为“批量插入图片”。以后只要单击工具栏上的“批量插入图片”按钮,就可以自动完成背景图片的插入工作了。
四、需要注意的问题
(1)这种方法是将图片作为背景插入每张幻灯片的。
(2)实际应用过程中,程序模块里图片的地址和名称要根据具体情况进行修改。
(3)如果按照上述方法不能实现图片的批量插入,可能是PowerPoint宏的安全性设得太高了。可以单击“工具/宏/安全性”命令,将“安全级”设为“中”,重新打开PowerPoint,就可以正常插入了。