前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用VBA创建一份答题PPT

使用VBA创建一份答题PPT

作者头像
fanjy
发布2023-08-30 08:36:22
4030
发布2023-08-30 08:36:22
举报
文章被收录于专栏:完美Excel

标签:VBA,PowerPoint编程

下面,我们先制作一份填空测验的PPT。

在这份PPT中,允许学生在幻灯片放映模式下的文本框中输入答案。后续,他们还可以验证自己的答案,并看到一份报告,其中包含他们正确和错误的问题数量。

老师可以创建任意数量的问题幻灯片,并在每张幻灯片中添加多个空格。一种实现方法是,在同一张幻灯片外放置每个空格对应的正确答案;然后,告诉VBA代码匹配这两个答案,也就是学生的作答和幻灯片外的文本,并评估答案。这种方法可以让教师快速修改模板并编辑正确答案,而无需修改任何VBA宏代码。

步骤1:创建标题幻灯片

创建一个标题幻灯片,其中有一个含有“开始测试”文本的形状,示例幻灯片如下图1所示。当然,你可以在幻灯片中添加其他图片或形状来进一步美化幻灯片。

图1

步骤2:添加问题幻灯片

插入一张新幻灯片,在其中输入要回答的问题,并且添加一个含有“下一题”的形状,示例幻灯片如下图2所示。

图2

步骤3:添加文本框

单击功能区“开发工具”选项卡“控件”组中的“文本框”控件,在幻灯片中绘制一个空白文本框并置顶,如下图3所示。

图3

选取该文本框,单击功能区“开发工具”选项卡“控件”组中的“属性”,将其名称命名为“AA”,其内容保持为空。

步骤4:放置正确答案

在该幻灯片外面,再插入一个“文本框”控件,将其名称命名为“CA”,并在里面输入正确答案,示例幻灯片如下图4所示。

图4

重复步骤2-步骤4,添加其他幻灯片,下面图5是又添加的一张示例幻灯片。

图5

步骤5:编写VBA代码

在VBE中,插入一个标准模块,在其中输入下面的代码:

代码语言:javascript
复制
Sub Initialise()
 Dim i As Long
 For i = 2 To 3 '可根据实际调整数量
   ActivePresentation.Slides(i).Shapes("AA").OLEFormat.Object.Value = ""
 Next i
 ActivePresentation.SlideShowWindow.View.Next
End Sub

Sub CheckAnswer()
  Dim CS As Slide
  '表示当前幻灯片,而不是幻灯片编号
  Set CS = ActivePresentation.SlideShowWindow.View.Slide
 
  If UCase(CS.Shapes("AA").OLEFormat.Object.Value) = UCase(CS.Shapes("CA").OLEFormat.Object.Value) Then
    MsgBox "答案正确"
    ActivePresentation.SlideShowWindow.View.Next
  Else
    MsgBox "答案错误. 请重试!"
  End If
End Sub

步骤6:将代码与幻灯片关联

在上图1所示的幻灯片中,选取含有“开始测试”文本的形状,单击功能区“插入”选项卡“链接”组中的“动作”按钮,在弹出的“操作设置”对话框中,选取“运行宏”,然后在其下拉列表中选取要关联的宏,本例中为Initialise,如下图6所示。

图6

同样,对于下面的问题幻灯片中,将含有“下一题”文本的形状关联宏CheckAnswer。

至此,一份填空测验PPT制作完成。

单击功能区“幻灯片放映”选项卡“从头开始”,即可开始测验。

未完待续……

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档