利用PPT宏设置(vbs)实现随机抽题

抽题界面

设定文件格式

打开PPT2010,

将演示文稿保存成启用宏的PPT演示文稿格式

(即pptm格式,包含宏代码的演示文稿,必须保存成这种格式),

界面设置

1.调出“开发工具”:

  • 开发工具:看看顶部有没有“开发工具”菜单。没有的话,在“文件”——“选项”——“自定义功能区”——勾选“开发工具”

  • VBA编辑器:检查能否正常调出VBA编辑器
    • 法一:快捷键alt + F11
    • 法二:“开发工具”——“宏”——随便输入一个宏名,点击创建。
    • 看能否正常调出如下的VBA编辑器。若不能调出,弹窗提示错误(内存溢出啥的),很可能是你之前安装过WPS,请百度修改方法,修改注册表。

2.设计抽题界面,

  • 创建4个命令按钮控件,命名为start_btn, stop_btn, jump_btn, reset_btn。创建3个文本框控件,命名为rolling_num_text, result_num_text, done_nums_text。编辑控件属性,加入一些提示性文本框。

  • 编辑控件属性:右键点击画出来的丑陋控件——“属性表”。
    • “(名称)”属性:这个控件的名字,编程时用到,建议用英文认真命名。
    • “Caption”属性:命令按钮控件显示的文字。
    • 另,调整样式时,建议选择“按分类序”,请自行探索如何改变控件的字体大小、前景背景颜色、对齐方式等。

 

3.创建具体题目的幻灯片,

注意添加返回到首页的按钮,(插入某个形状,然后右键设置超链接)。

复制得到7个这样的幻灯片,表示有7道题,最好的办法是做一张题目列表的幻灯片母版,然后新建幻灯片,套用此母版。

编写控件响应函数

1.双击控件,或,右键——“查看代码”,从而调出VBA编辑器(也可直接按快捷键 alt+F11)。

    1. 双击选择所在幻灯片,这里是slide8
    2. 选择控件名称,这里是start_btn
    3. 选择控件响应的事件,这里是单击事件click
    4. 然后会自动生成函数头尾,我们需要在中间补充函数的内容
      '全局变量
      Dim n As Integer, stop_flag As Boolean
      
      Private Sub start_btn_Click()
          stop_flag = False
          n = 7 '初始化,觉得还是放在一个init初始化函数里比较好...
          stop_btn.Enabled = True '使stop按钮有效
          Dim a As Integer
          Randomize '初始化Rnd函数的随机数字生成器, 为其提供一个新的种子值。可按F1键查看函数解析。
          Do
              a = Fix(Rnd * 20 + 1) 'a是[1,n]的随机整数。Fix函数返回数字的整数部分;Rnd函数没有参数,返回[0,1)的小数。
              rolling_num_text.Text = a
              result_num_text.Text = ""
              DoEvents  '交出控制权,以便操作系统能够处理其它事情
              If stop_flag = True Then
                  Exit Do '退出循环,相当于break
              End If
          Loop
      End Sub
      
      Private Sub stop_btn_Click()
          result_num_text.Text = rolling_num_text.Text
          done_nums_text = done_nums_text + result_num_text + "  "
          stop_btn.Enabled = False '使stop按钮无效
          stop_flag = True
          jump_btn.Enabled = True '使jump按钮有效
      End Sub
      
      Private Sub jump_btn_Click()
          Dim temp As Integer
          temp = CInt(result_num_text.Text) + 1 '转换文本框内容为数据,否则容易出“数据类型不符”的错误
          ActivePresentation.SlideShowWindow.View.GotoSlide Val(temp) 'GotoSlide切换到指定的幻灯片
          jump_btn.Enabled = False '使stop按钮无效
      End Sub
      
      Private Sub reset_btn_Click()
          rolling_num_text.Text = ""
          result_num_text.Text = ""
          done_nums_text.Text = ""
      End Sub

         

        特别说明

        • 抽题时,自动过滤已经抽过的题目。
          • 需要使用数组(清空、插入、索引等操作)
        • 抽题时,还能选择题目的类型,比如从3类中选择1类。
          • 法一:使用选择按钮控件
          • 法二:添加文本框,可输入题目类别号。
        • 链接excel与ppt,实现“只需编辑excel相关数据,即快速创建ppt相应的题目幻灯片”。题库excel中,题目类型、每类型的题目数量、题目内容字符串,都只需在excel中改动。
          • 需要熟知excel和ppt的对象模型,然后学习如何链接excel与ppt
        • PowerPoint必须启用宏才能正常使用。
          • 1、首先点击左上角的“文件”菜单,在左边的设置菜单列表中选择“选项”(在左下角)
          • 2、打开Powerpoint选项设置对话框,打开后默认位于“常规”页面中,点击最下面的“信任中心” ,然后右边点击“信任中心设置..”按钮
          • 3、按右图设置,在左边的设置菜单列表中点击“宏设置”,打开宏设置页面,在右边就可以看到宏的设置情况,选择“启用所有宏”,和在下面的选项中打勾,点确定退出。
          • 4、保存,再关闭PPT,然后重新打开PPT,已经可以正常使用了。
        本文作者:咸人
        本文链接:https://www.xianrenshuo.com/1517.html
        版权声明:如无特别声明本文即为原创文章仅代表个人观点,版权归《咸人说》所有,欢迎转载,转载请保留原文链接。
        THE END
        分享
        二维码
        打赏
        海报
        利用PPT宏设置(vbs)实现随机抽题
        抽题界面 设定文件格式 打开PPT2010, 将演示文稿保存成启用宏的PPT演示文稿格式 (即pptm格式,包含宏代码的演示文稿,必须保存成这种格式), 界面设置 1.调……
        <<上一篇
        下一篇>>