【代码】PPT与Excel交互之VBA法.pdf
大约半个月以前,我们讲过 PPT 与 Excel 交互之选择性粘贴法,当时用的是选择粘贴法实现两者之间的数据共享。但同时我们也提到PowerPoint和Office 其他格式文件交换数据最好的方法是通过VBA,只有想不到,没有做不到。因为这句话,很多朋友来信询问用VBA 如何实现 PPT 与 Excel 连接。为了解答大家心中的疑问,今天我们就来讲讲用VBA 的方法来实现 PPT 与 Excel 的连接。想用 Excel 做一个习题库,每次简单的修改一下自动生成习题?其实,VBA可以解决这一切。下面,我讲从原理入手,不断完善这个PPT 和 Excel 链接的题库。原理:利用 VBA 后台打开 Excel 题库,读取对应的数据,显示到PPT 中。步骤:第一、后台打开 Excel 题库为了让 PPT中适用 Excel 的 VBA 对象属性函数,我们需要事先引用excel的对象模型。打开 PowerPoint2010开发工具Visual Basic工具引用勾选“Microsoft Excel 14.0 Object Library”确定。这时候,我们就能在PPT 程序中适用 Excel 中的 VBA 对象属性函数了。代码部分。在公共部分先声明:(这样子就产生了一个整个程序运行时都可以调用的变量了)Dim xlApp As Excel.Application 在 sub 部分开始写:Sub start()Set xlApp=New Excel.Application 新建一个 Excel 程序 xlFilePath$=ActivePresentation.Path&xt.xls 定义当前题库的位置 xlApp.Workbooks.Open xlFilePath,False 后台打开 Excel End Sub第二、读取 Excel 的数据这个部分需要对Excel 的基本对象有所了解。Excel:ApplicationWorkbookSheets Cells 备注:具体的信息可以看帮助系统的对象模型。代码部分。比如,我们刚刚后台打开的xlApp 的第一个工作簿第一个工作表第二行第三列的数据就可以表示为xlApp.Workbooks(1).Sheets(1).Cells(2,3)第三、传达给 PowerPoint这个部分需要对PowerPoint 的基本对象有所了解。PowerPoint:ApplicationPresentationSlides Shapes 备注:具体的信息可以看帮助系统的对象模型。代码部分。比如,我们需要将刚刚读取出来的数据显示在当前演示文稿的第一张幻灯片第 2 个形状(以文本形式)ActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange.Text=_ xlApp.Workbooks(1).Sheets(1).Cells(2,3)此处的“_”是连接一行代码的意思,就是说,代码太长的时候可以这样子分几行写。第四、退出 PPT 放映是关闭 Excel此处的操作目的是为了避免后台出现很多Excel 的进程。代码部分。xlApp.Workbooks.Close 关闭打开的 Excel Set xlApp=Nothing 清空 xlApp 备注:最好把这部分的代码在OnSlideShowTerminate,这个在PowerPoint结束放映是自动运行的Sub 也写一遍。第五、我们需要更多其实,理解了上述思路,我们就可以完成了大致的连接过程。打开 Excel读取单元格数据显示在 PPT 上面关闭 Excel但是,利用 VBA 我们可以完成更多,如随机出题,判断正误,自动计分让我们再散发一些思路,比如密码登录题库。只有想不到,没有做不到,你愿意尝试下吗?上面操作步骤的讲解只是PPT 整个效果的一部分功能性代码,大家可以下载下面这个随机出题案例 有问必答,打开 PPT 后按 Alt+F11查看完整代码。PPT 案例中的加载密码是:zxc,其实不填写直接加载也可以。该作品效果仅限于讲 PPT 与 Excel 连接,没有做选择题、判断正误、自动计分等效果。感谢 laose 提供本文 VBA 源代码,感谢 Ye4241(QQ/286537178)为大家带来的精彩教程。下载地址:快盘Dbank网盘(文章/Ye4241编辑/阿呆)