好文档 - 专业文书写作范文服务资料分享网站

PPT与Excel完美结合做练习

天下 分享 时间: 加入收藏 我要投稿 点赞

PPT与Excel完美结合做练习

在PPT中,利用VBA能够轻松调取Excel中的数据,通过一张幻灯片就可以做若干习题。

在课堂上,许多老师都是用PPT进行课堂练习。一般情况下,有多少道练习题就用多少张幻灯片。这样的做法存一个弊端:就是要想将幻灯片中的试题修改成统一的字体或字号,需要一张一张地去修改。如果试题所用的幻灯片少了,这样的方法还行;但是,试想一下,有几十道、上百道练习题,如果要一张一张地修改,那实在是一件很麻烦、很费神的事。 今天,小编告诉你一个非常行之有效的方法:就是将你所需要的若干试题存放在一个Excel工作表中,然后在PPT中利用VBA读取Excel工作表中的数据到幻灯片中,这样只需要一张幻灯片就可以练习若干道习题了。要修改的话,只需要修改这一张幻灯片中的文本框就可以了。如果你想知道这种方法是怎么实现的,就请跟我来吧! 1准备工作表和幻灯片

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

首先,准备好一个Excel文件,在Sheet1工作表中存放好所需要试题,并将这个Excel文件和PPT文件放在同一文件夹中。然后,打开PowerPoint 2003,插入一张空白幻灯片。

在这张幻灯片中先插入两个文本框,它们的作用一个是用于存放试题题目,一个用于存放正确答案(在存放试题题目的文本框中可先输入一个提示性语句,在存放正确答案的文本框中可先输入一个空格)(图1)。图1最后,选择“幻灯片放映→动作按钮”菜单,在幻灯片的合适位置插入5个动作按钮。可右击相应的动作按钮为它们添加相应的文字(图2)。图22添加VBA代码

这个过程主要是编写控制Excel工作表和PPT幻灯片中文本框的VBA代码。一提到编写代码,你可能就有些犯晕了。其实,程序代码也没那么神秘,在这里你可先将我的代码输入或复制到你的文件中,然后看看我给你的解释,一切就简单多了!

首先,我们选择“工具→宏→Visual Basic编辑器”菜单,这时就会弹出Microsoft Visual Basic程序窗口,也就是VBA的编辑器。选择“插入→模块”菜单,这时在右侧可以看到空白的代码编辑区域,我们可以尝试着输入图中代码(图3)。图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则表示文本框中的文本。我们把它们连接起来即

ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Text表示当前演示文稿中第1张幻灯片中第1个文本框的内容。

xlSheet.Range('a' & i)表示Sheet1中单元格的值,现在i=3,就获取了A3单元格的值。

Replace函数的作用是替换,Chr(10)代表换行符,Chr(13)

代表回车符,Replace(xlSheet.Range('b' & i), Chr(10), Chr(13))就表示把B3单元格中的换行符替换成回车符。 “&”这个符号起到连接的作用,可用来强制连接不同类型的值。而整个语

ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Text = xlSheet.Range('a' & i) & '、' &

Replace(xlSheet.Range('b' & i), Chr(10), Chr(13))表示将工作表Sheet1中单元格A3的值加上“、”再加B3中将换行符替换成回车符后的值一起赋给幻灯片中的第一个文本框。 在“下一题()”这个过程中,i=i+1表示将工作表中当前行下移一行,即现在是第3行,i+1后就可以取第4行的值了。这个过程应用了IF语句进行条件判断,判断是不是已到题库尾,如果xlSheet.Range('a' & i) 的值不是空,就取相应的值赋给题目文本框;否则,用msgbox()函数进行消息的提示。同时为了不提示显示正确答案,

ActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange.Text = ' '表示让幻灯片中的第二个文本框即正确答案文本框显示为空格。

解释了这么多,这下你明白些了吧?那么其他的过程和它的意思都是大同小异的,你理解理解就明白了。 3为按钮添加事件

这个过程主要是给各个按钮添加相应的事件,即过程。

比如我们给“正确答案”这个按钮添加事件,我们可以右击它,选择“动作设置”菜单,在弹出的“动作设置”窗口中选择“运行宏”,单击其右侧箭头选择相应的过程,最后点击“确定”即可。其他按钮事件的添加和它的道理一样的(图4)。图44激活VBA代码

要想使这些事件即VBA代码起作用,我们需要调整宏的安全性。选择“工具→宏→安全性”,把宏的安全性设置为“低”,这样你才能顺利的运行VBA代码(图5)。图55效果演示 以上的工作完成之后,我们就可以放映幻灯片了。 在使用时,我们先点击“打开题库”按钮,这时就会呈现出题库中的第1题,只有点击“正确答案”按钮时才会显示相应题目的正确答案;如果点击“下一题”按钮,题目就会进行切换,而下一题的正确答案也不会显示。

如果你觉得题目或是正确答案的字体、字号、颜色等不是太满意,你只需要设置相应的文本框格式就行了。

看看,这个方法是不是特别爽呀!使用这个方法,你有多少题都没关系的,还不赶快试试(图6)!图6*******************代码*************Public xlApp, xlBook, xlSheetPublic i As IntegerSub 打开题库()Set xlApp =

CreateObject('Excel.Application')xlApp.Visible = FalseSet xlBook = xlApp.Workbooks.Open(CurDir() + '\\book1.xls')Set xlSheet = xlBook.Worksheets(1)i = 3

ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Text = xlSheet.Range('a' & i) & '、' &

Replace(xlSheet.Range('b' & i), Chr(10), Chr(13))End SubSub 下一题()i = i + 1If xlSheet.Range('a' & i) '' ThenActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange.Text = '

'ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Text = xlSheet.Range('a' & i) & '、' & Replace(xlSheet.Range('b' & i), Chr(10),

Chr(13))ElseMsgBox ('已到最后一题了!')End IfEnd SubSub 上一题()i = i - 1If xlSheet.Range('a' & i) '' Or xlSheet.Range('a' & i) '序号'

ThenActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange.Text = '

'ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Text = xlSheet.Range('a' & i) & '、' & Replace(xlSheet.Range('b' & i), Chr(10),

Chr(13))ElseMsgBox ('已是第一题了!')End IfEnd SubSub 正确答案

()ActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange.Text = xlSheet.Range('c' & i)End SubSub 关闭题库()xlBook.Close (False)xlApp.QuitSet xlApp = NothingEnd

Sub

PPT与Excel完美结合做练习

PPT与Excel完美结合做练习在PPT中,利用VBA能够轻松调取Excel中的数据,通过一张幻灯片就可以做若干习题。在课堂上,许多老师都是用PPT进行课堂练习。一般情况下,有多少道练习题就用多少张幻灯片。这样的做法存一个弊端:就是要想将幻灯片中的试题修改成统一的字体或字号,需要一张一张地去修改。如果试题所用的幻灯片少了,这样的方法还行
推荐度:
点击下载文档文档为doc格式
26apw2w5150vngk58yua7wp9920czo00zxl
领取福利

微信扫码领取福利

微信扫码分享