1、PPT与Excel交互之VBA法我们讲过PPT与Excel交互之选择性粘贴法,当时用的是选择粘贴法实现两者之间的数据共享。但同时我们也提到PowerPoint和Office其他格式文件交换数据最好的办法是通过VBA,只有想不到,没有做不到。因为这句话,很多朋友来信询问用VBA如何实现PPT与Excel连接。为了解答大家心中的疑问,今天我们就来讲讲用VBA的办法来实现PPT与Excel的连接。想用Excel做一个习题库,每次简单的修改一下自动生成习题?其实,VBA可以解决这一切。下面,我讲从原理入手,不断完善这个PPT和Excel链接的题库。原理:利用VBA后台翻开Excel题库,读取对应的数据
2、显示到PPT中。步骤:第一、后台翻开Excel题库为了让PPT中适用Excel的VBA对象属性函数,我们需要事先引用excel的对象模型。翻开PowerPoint2008→开发工具→VisualBasic→工具→引用→勾选MicrosoftExcel14.0ObjectLibrary;→确定。这时候,我们就能在PPT程序中适用Excel中的VBA对象属性函数了。代码局部。在公共局部先声明:这样子就产生了一个整个程序运行时都可以调用的变量了DimxlAppAsExcel.Application在sub局部开始写:Substart()S
3、etxlApp=NewExcel.Application新建一个Excel程序xlFilePath$=ActivePresentation.Path&/&xt.xls定义当前题库的位置xlApp.Workbooks.OpenxlFilePath,False后台翻开ExcelEndSub第二、读取Excel的数据这个局部需要对Excel的根本对象有所了解。Excel:Application→Workbook→Sheets→Cells备注:具体的信息可以看帮忙系统的对象模型。代码局部。比方,我们刚才后台翻开的xlApp的第一个工作簿第一个工作表第二行第
4、三列的数据就可以表示为xlApp.Workbooks(1).Sheets(1).Cells(2,3)第三、传达给PowerPoint这个局部需要对PowerPoint的根本对象有所了解。PowerPoint:Application→Presentation→Slides→Shapes备注:具体的信息可以看帮忙系统的对象模型。代码局部。比方,我们需要将刚才读取出来的数据显示在当前演示文稿的第一张幻灯片第2个形状以文本形式ActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange.Text=_xlApp.Wor
5、kbooks(1).Sheets(1).Cells(2,3)此处的_;是连接一行代码的意思,就是说,代码太长的时候可以这样子分几行写。第四、退出PPT放映是关闭Excel此处的操作目的是为了防止后台出现很多Excel的进程。代码局部。xlApp.Workbooks.Close关闭翻开的ExcelSetxlApp=Nothing清空xlApp备注:最好把这局部的代码在OnSlideShowTerminate,这个在PowerPoint结束放映是自动运行的Sub也写一遍。第五、我们需要更多其实,理解了上述思路,我们就可以完成了大致的连接过程。翻开Excel→读取单元格数据→显示在PPT上面→关闭Excel但是,利用VBA我们可以完成更多,如随机出题,判断正误,自动计分让我们再散发一些思路,比方密码登录题库。只有想不到,没有做不到,你愿意尝试下吗?上面操作步骤的讲解只是PPT整个效果的一局部功能性代码,大家可下列载下面这个随机出题案例有问必答,翻开PPT后按Alt+F11查看完整代码。PPT案例中的加载密码是:zxc,其实不填写直接加载也可以。该作品效果仅限于讲PPT与Excel连接,没有做选择题、判断正误、自动计分等效果。PPT与Excel交互之VBA法