很多人都不知道在PPT中,利用VBA能够轻松调取Excel中数据,通过一张幻灯片就可以做若干习题。下面就跟小编一起来看看如何将PPT与Excel完美结合做练习。

在课堂上,许多老师都是用PPT进行课堂练习。一般情况下,有多少道练习题就用多少张幻灯片。这样的做法存一个弊端:就是要想将幻灯片中的试题修改成统一的字体或字号,需要一张一张地去修改。如果试题所用的幻灯片少了,这样的方法还行;但是,试想一下,有几十道、上百道练习题,如果要一张一张地修改,那实在是一件很麻烦、很费神的事。

笔者经过不断研究,终于想到了一个非常行之有效的方法:就是将你所需要的若干试题存放在一个Excel工作表中,然后在PPT中利用VBA读取Excel工作表中的数据到幻灯片中,这样只需要一张幻灯片就可以练习若干道习题了。要修改的话,只需要修改这一张幻灯片中的文本框就可以了。如果你想知道这种方法是怎么实现的,就请跟我来吧!

准备工作表和幻灯片

这个过程主要是准备好存放试题的Excel工作表和显示试题的幻灯片。

首先,准备好一个Excel文件,在Sheet1工作表中存放好所需要试题,并将这个Excel文件和PPT文件放在同一文件夹中。然后,打开PowerPoint 2003,插入一张空白幻灯片。在这张幻灯片中先插入两个文本框,它们的作用一个是用于存放试题题目,一个用于存放正确答案(在存放试题题目的文本框中可先输入一个提示性语句,在存放正确答案的文本框中可先输入一个空格)(图1)。



最后,选择“幻灯片放映→动作按钮”菜单,在幻灯片的合适位置插入5个动作按钮。可右击相应的动作按钮为它们添加相应的文字(图2)。



添加VBA代码

这个过程主要是编写控制Excel工作表和PPT幻灯片中文本框的VBA代码。

一提到编写代码,你可能就有些犯晕了。其实,程序代码也没那么神秘,在这里你可先将我的代码输入或复制到你的文件中,然后看看我给你的解释,一切就简单多了!

首先,我们选择“工具→宏→Visual Basic编辑器”菜单,这时就会弹出Microsoft Visual Basic程序窗口,也就是VBA的编辑器。选择“插入→模块”菜单,这时在右侧可以看到空白的代码编辑区域,我们可以尝试着输入图中代码(图3)。



看着这些代码,你有些摸不着头脑了吧!没关系,你看看我给你解释解释,你就豁然开朗了。

在上述代码中,首先用Public定义了xlApp、xlBook、xlSheet、i这4个变量,前3个是用来控制Excel工作表的,i是用来表示当前Excel工作表中的行数的。

然后,用了5个“Sub…End Sub”定义了5个事件过程,VBA中的事件都是放在Sub和End Sub之间的,每个过程都有一个相应的名字,如打开题库()、下一题()等等。

现在我们来说明一下“打开题库()”这个过程:

Set xlApp = CreateObject("Excel.Application")是用来建立一个Excel控件;

xlApp.Visible = False表示这个控件不可见,即隐藏Excel,不让它显示在当前窗口;

Set xlBook = xlApp.Workbooks.Open(CurDir() + "\book1.xls")表示让Excel打开名字为book1.xls的文件,CurDir()表示当前目录。

Set xlSheet = xlBook.Worksheets(1)表示把控制工作簿中的第1个工作表即Sheet1的权限赋给xlSheet。

ActivePresentation表示当前激活的演示文稿。

.Slides(1)表示演示文稿中的第1张幻灯片,.Shapes(1)表示幻灯片中的第1个文本框。

.TextFrame.TextRange.Text则表示文本框中的文本。