当前位置:论文写作 > 参考文献 > 文章内容

vba和ppt设计专科开题报告范文 关于vba和ppt设计毕业论文的格式范文3000字有关写作资料

主题:vba和ppt设计 下载地址:论文doc下载 原创作者:原创作者未知 评分:9.0分 更新时间: 2024-04-01

vba和ppt设计论文范文

论文

目录

  1. 一、技术基础
  2. (一)VBA
  3. (二) ActiveX控件
  4. 二、系统设计
  5. (一)功能设计
  6. (二)前端视图设计
  7. (三)后端数据库设计
  8. 三、系统实施
  9. (一)题库初始化
  10. (三)引用Excel对象库
  11. (四)启动及交互确认
  12. (五)题目在幻灯片中展示
  13. 四、结论

《基于VBA的PPT问答式复习系统的设计和实现》

本文是vba和ppt设计类毕业论文的格式范文和系统相关论文参考文献范文.

摘要:传统的问答式课前复习是在PPT里编辑和排版题目,教师即要思考题目也要兼顾题目在PPT中的版式布局.数据与视图混为一体,导致教师核心精力分散,也使得题目维护的工作量较大.利用VBA技术能有效解决这一问题,VBA自动从Excel中读取题目展示到PPT中,实现题目数据与展示视图的分离,教师只需专注在Excel中维护题库,排版展示工作交给VBA实施.

关键词:VBA;PPT;Excel;question bank

引言

作者曾对独立院校的学情做过调查分析,并提出:在学生主动学习能力差的情况下,切实开展课前复习能有效帮助学生消化吸收上节课的知识.同时,作者通过实践发现,问答式课前复习是一种行之有效的方法:根据上一节课的知识点整理若干道题目,以问答的方式在课前展开复习.

但问答式课前复习对教师提出了更高的要求:根据章节整理出题目,并且将之排版形成PPT.后续对题目进行增删改等维护时,就得维护相应排版,也就是说,题目与展示混合在一起,使得维护的工作量增大了.

对此,本文提出基于VBA的PPT问答式复习系统,以 Microsoft Excel作为编辑、存储题目的后台“数据库”,以Microsoft PowerPoint作为前端视图,以VBA技术作为中间控制器自动读取Excel中的题目展示到PPT中,实现前后端分离.教师只需在Excel中维护题目,排版展示工作交給系统自动完成,从而减少教师工作量.同时,系统以PPT为宿主,可以集成在教师原PPT课件中,相当于为原课件扩展了复习功能.

一、技术基础

(一)VBA

VBA(Visual Basic For Application)是美国微软公司在Visual Basic基础上开发出来,应用于其桌面应用程序的一种自动化任务编程语言.1993年,VBA开始出现在Microsoft Excel和Microsoft Project中入[1],以满足用户在特定领域对Office基本功能扩展的需求.目前,VBA已集成于Microsoft Office的大多数产品中,包括Word、Excel、PowerPoint、Outlook等.

本系统使用的VBA是基于Microsoft PowerPoint 2016的Microsoft visual Basic for Application 7.1.

(二) ActiveX控件

ActiveX是微软公司对一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM).ActiveX控件,是可以在应用程序中重复使用的程序对象,它的主要技术是ActiveX.VBA编辑器提供的ActiveX控件比较丰富,本系统使用到的有:命令按钮控件、标签控件、文本框控件、List Box控件等.

二、系统设计

(一)功能设计

系统以 Microsoft Excel作为编辑、存储题目的后台“数据库”,以Microsoft PowerPoint作为前端视图,以PowerPoint自带的VBA作为核心技术,实现前后端分离,如图1所示.

通过PPT上的命令按钮,用户触发系统,系统启动后读取Excel中的章节、题目信息,自动在当前PPT中新增幻灯片,并按照一定的布局版式展示每道题目.同时,每个题目幻灯片上有“查看答案”按钮,点击时动态显示答案.题目和答案的内容支持文字和图片.

(二)前端视图设计

PPT(教师原课件)作为题库的前端视图,用于展示题目.题目在Excel中有多道,系统对每道题在原PPT最前面新增一个幻灯片用于展示.Excel中每道题目由多行组成,对于每一行,幻灯片采用一个新的文本框存放其内容.题目题型(填空、判断、单选、多选)展示在答案区域的文本框中,当用户点击“查看按钮”时,答案区域的文本框内容由题型变为答案[2].题目在幻灯片中的版式布局如图2所示.

(三)后端数据库设计

Excel作为 “数据库”,用于编辑、存储题目,形成题库.题目设计规则如下:

(1)Excel文件.题库以课程的章为单位,一章一个Excel文件,文件以“xxx复习题”格式命名,和PPT放在同一目录下.

(2)Excel工作表.一个Excel文件里面可以有多个工作表(sheet).一个工作表为一次复习题,可以有多道题目,工作表表名要符合实际且通俗易懂,如“2.1常量与变量”或“第2章第1次复习”等.

(3)题目设计规范.为了方便VBA程序快速、准确的从表中读取题目到PPT中,设定以下规范:

①工作表的第1列为标识列.只能是以下标识:“{”是题目开始标识,标注在题目开始处;“}”是题目结束标识,标注在题目结束的下一行;大写字母A-Z是选项标识,标注在选择题处;“img”是图片标识,标注在图片顶部位置.如图3、图4所示.

②工作表的第2列为题目内容.题目内容是图片时,图片宽度不要超过第2列的列宽.当然,可以通过调整第2列的列宽,使得内容适当.如图3、图4所示.

③工作表的第3列为答案内容.其中,“FALSE”、“TRUE”,表示判断题,代表错、对;单个大写字母A-Z,表示单选题,代表单选答案;多个大写字母A-Z,表示多选题,代表多选答案;“img”,表示填空题且答案是图片,图片放在“img”标识下,不要超过题目范围.其余答案内容,视为填空题.如图3、图4所示.

三、系统实施

(一)题库初始化

按照上述规则新建Excel文件,将题目按小节或其他方式录入在工作表中.Excel文件的存放路径与PPT保持一致.

(二)修改幻灯片空白版式

为了统一采用图2的幻灯片版式布局,本系统通过修改幻灯片母版的空白版式实现.具体方法为:在PPT中通过“视图”打开“幻灯片母版”,选中“空白版式”,然后通过“开发工具”在空白版式上新增一个命令按钮(ActiveX控件),通过属性修改该控件标题为“查看答案”.其余布局通过VBA动态实现.

(三)引用Excel对象库

以PPT为宿主的VBA不能直接使用Excel相关对象和函数,需要先加载Excel对象库,具体方法为:在PPT中打开“开发工具”,点击“Visual Basic”进入VBA编辑器.通过“工具”引用“Microsoft Excel 16.0 Object Library”[3].

(四)启动及交互确认

(1)系统触发.在教学PPT的第一页新增一个命令按钮控件“课前复习”,用于触发系统.系统启动后寻找并打开当前PPT路径下的“xxx复习题”Excel文件,读取每个工作表里第一列的标识信息,记录每道题在表格中的起止位置即 “{”、“}”标识所在的行.为了方便,本系统自定义了一个新数据类型,用于存储工作表名(章节名)以及每道题目的位置,具体代码如下:

'自定义类型,用于存放章节名以及题目在表格中的起止位置

Public Type TYPE_SAQP 'SectionAndQuestionPositon

section As String '章節名

questionpos() As Integer'所有题目的起止位置

End Type

’全局变量,保存每个章节工作表的名称以及里面每道题的起止位置

Public PUB_arr_SAQP() As TYPE_SAQP

(2)章节选择窗口.从前面得到的章节名和题目起止位置数组中提取章节名,计算出题目数量,形成二维数组,加载到章节选择窗口的ListBox控件中(如图5,该控件设置为两列,需要二维数组才能初始化),以便用户选择需要生成复习题的章节.

(五)题目在幻灯片中展示

当题目内容为文本时,可以直接通过Excel的cells函数取到单元格内容,然后赋值给幻灯片的文本框.但题目内容为图片时,就不能这样直接赋值.所以,需要根据题目是否有图片分别处理:

(1)题目为纯文本时.此时表格第1列没有图片标识,系统为每道题目在原PPT最前面新增一张空白版式的幻灯片作展示.从题目的开始行到结束行,每行对应在幻灯片题目区域新建一个文本框,通过cells函数读取该行第2列的内容赋值给文本框.部分代码如下:

'幻灯片母版中空版式对应的索引是7

Set mylayout 等于 ActivePresentation.SlideMaster.CustomLayouts(7)

'每道题目新增一个幻灯片来展示

For i 等于 0 To questionnum - 1

'第i+1道题新增为第i+1个幻灯片,名字为“复习x”

ActivePresentation.Slides.AddSlide(i + 1, mylayout).Name 等于 "复习" & i

'工作表里的所有题目的位置信息依次保存在数组中

startrow 等于 arr_QuestionPostion(i * 2) '题目开始行

endrow 等于 arr_QuestionPostion(i * 2 + 1) '题目结束行

.

'对于每道题,xls中的每一行对应在幻灯片中新增一个文本框

mytop 等于 80 '第一个文本框的初始位置top值

For m 等于 startrow To endrow - 1

imagestr 等于 xlsSheet.Cells(m, 1) '读取第1列数据,判断是否有图片

'当本行没有图片标识时

If (imagestr <> IMAGEFLAG And xlsSheet.Cells(m, 2) <> "") Then

Set myshap 等于 ActivePresentation.Slides(i + 1). _

Shapes.AddTextbox(1, 40, mytop, 450, 30) '新增文本框

myshap.Name 等于 "questioncontent-" & (m - startrow) '文本框命名

If (m 等于 startrow) Then '题目第一行需要加入序号

myshap.TextFrame2.TextRange.Text 等于 (i + 1) & _

"、" & xlsSheet.Cells(m, 2)

Else

If typestr 等于 "判断题" Or typestr 等于 "填空题" Then

myshap.TextFrame2.TextRange.Text 等于 xlsSheet.Cells(m, 2)

Else

'选题时,需要加xls中第一列的选项信息,如A、xxx

myshap.TextFrame2.TextRange.Text 等于 _

xlsSheet.Cells(m, 1)& "、" & xlsSheet.Cells(m, 2)

mytop 等于 mytop + myshap.Height '下一个文本框的位置

(2)题目包含图片时.此时表格第1列有图片标识,由于图片默认是浮在单元格之上的,所以无法直接获取图片.本系统采用的方法是:遍历当前工作表中的所有形状(Shapes),如果某形状的左上角坐标在某题目第2列范围内,则认为该形状是本题目的图片;然后在表格中拷贝该形状,粘贴到幻灯片中;最后在幻灯片里调整该图片的位置,使其位于题目区域.部分代码如下:

If (imagestr 等于 IMAGEFLAG) Then '当本行有图片标识时

top1 等于 xlsSheet.Cells(startrow, 2).Top

top2 等于 xlsSheet.Cells(endrow, 2).Top

left1 等于 xlsSheet.Cells(startrow, 2).Left

left2 等于 left1 + xlsSheet.Cells(startrow, 2).Width

Set xlspicshps 等于 xlsSheet.Shapes '当前表格里的所有形状

For n 等于 1 To xlspicshps.Count

'遍历xls中所有形状,判断其左上角坐标是否在范围内

If (xlspicshps(n).Top > top1 And xlspicshps(n).Top < top2 _

And xlspicshps(n).Left > left1 And xlspicshps(n).Left < left2) Then

xlsSheet.Shapes(xlspicname).Copy '对xls中的形状进行拷贝

'粘贴前幻灯片里面形状的数量

shpnum 等于 ActivePresentation.Slides(i + 1).Shapes.Count

'向幻灯片中粘贴形状

ActivePresentation.Slides(i + 1).Shapes.Paste

'粘贴进来的形状在幻灯片里的索引值为shpnum+1 Set myshap 等于 ActivePresentation.Slides(i + 1).Shapes(shpnum + 1)

'调整形状的位置到题目区域

myshap.Left 等于 40

myshap.Top 等于 mytop

mytop 等于 mytop + myshap.Height + 5 '图片间隔5单位

(3)答案为纯文本时.根据表格第3列的内容,系统依照规则判断当前题目是什么类型(填空、判断、单选、多选),并將题型写在答案文本框中.点击“查看答案”按钮时,更新答案文本框内容为题目答案.部分代码如下:

'答案区域文本框初始化

Set myshap 等于 ActivePresentation.Slides(i + 1). _

Shapes.AddTextbox(1, 550, 140, 130, 30) '在答案区域新增文本框

myshap.Name 等于 "typeanswer-" & i '答案文本框命名

myshap.Fill.BackColor.RGB 等于 VBA.RGB(230, 230, 230) '答案文本框设置为灰色

myshap.TextFrame2.TextRange.Text 等于 typestr '题型

.

' 点击“查看答案时”按钮时,答案文本框显示答案

'当前放映的幻灯片名字,如复习0

slidename 等于 SlideShowWindows(1).View.Slide.Name

tempstr 等于 Replace(slidename, "复习", "")

myindex 等于 Int(tempstr)

'全局二维数组PUB_arr2_TypeAndAnswer保存了题型和答案

answerstr 等于 PUB_arr2_TypeAndAnswer(myindex, 1) '答案

answershpname 等于 "typeanswer-" & myindex '答案文本框对应的名字

.

'更新答案文本框内容为题目答案

ActivePresentation.Slides(slidename).Shapes(answershpname). _

TextFrame2.TextRange.Text 等于 answerstr

.

(4)答案为图片时.表格第3列为“img”时,表示答案为图片,采用之前的图片处理方法:从工作表中拷贝答案图片,粘贴到幻灯片中,调整图片位置到答案区域,然后将图片设置为隐藏,点击“查看答案”时,使图片显示.效果如图6所示.

四、结论

本系统以Excel为题目“数据库”,以PPT为视图展示,利用VBA技术实现了数据与视图的分离.使得教师只需在Excel中专注题目本身的设计,无需关心题目在PPT中的排版展示,能有效提升教师的工作效率,从而进一步推动课前复习的实施,提升教学效果.

参考文献:

[1]朱建国. PPT新视角-VBA应用技术[M].北京:电子工业出版社,2013

[2]李永强.PowerPoint VBA技术在多媒体教学练习课件中的运用[J].江汉石油职工大学学报,2011,24(05):58-60+66.

[3]陈永强,李茜,陈海川.例学VBA—Excel/Access/PowerPoint中的VBA高效引用[M].北京:中国铁道出版社,2010

基金项目:广东财经大学华商学院计算机科学与技术一流专业建设项目(HS2019CXQX06)

作者简介:王宏杰(1982-),男,湖北襄阳人,硕士研究生,助教,研究方向为人工智能、深度学习;

许丽娟(1979-),女,青海乐都县人,硕士研究生,副教授,研究方向为图像识别 、数据挖掘.

通信作者:王宏杰

综上所述,此文是关于系统方面的相关大学硕士和vba和ppt设计本科毕业论文以及相关vba和ppt设计论文开题报告范文和职称论文写作参考文献资料.

vba和ppt设计引用文献:

[1] vba和ppt设计专科开题报告范文 关于vba和ppt设计毕业论文的格式范文3000字
[2] 最新cad设计论文选题参考 cad设计论文题目怎么定
[3] 热门c++设计论文题目 c++设计论文题目选什么比较好
《vba和ppt设计专科开题报告范文 关于vba和ppt设计毕业论文的格式范文3000字》word下载【免费】
vba和ppt设计相关论文范文资料