前言:vba自学未成材,只是把前人的经验以及自己的思路整理下来,留作存档。
基本思路:在vba下通过判断操作是否正确(存在)进行自动评分
参考:PPT操作题也能自动评分(马震安),PowerPoint VBA教程,Microsoft PowerPoint Visual Basic 参考等文章,基本思路及源码方法借鉴使用马震安老师的《PPT操作题也能自动评分》
正文:
PPT自动判分与WORD及EXCEL不同,只能在幻灯片播放状态下运行宏
样题及PPT母版设置
所有题目要求添加到PPT母版的合适位置(视图→幻灯片母版)
判断方式与word/excel的方式基本类似,使用MsgBox获取正确的信息,然后对此信息进行判断来确定正确性。
如:给第二张幻灯片中的文字“三体Ⅱ·黑暗森林”添加超链接,使其链接到第四张幻灯片。
此题设计的思路:(出题的前提是最好本页在设置超链接前不存在其他超链接,便于进行判断)
1、获取“三体Ⅱ·黑暗森林”这个文本框形状的数值
2、判断是否有超链接
3、使用MsgBox获取连接到的目标地址参数
4、进行判断
代码如下:
Set tmp = ActivePresentation.Slides(2)
With tmp.Shapes(5).TextFrame.TextRange _
.ActionSettings(ppMouseClick)
If .Action = ppActionHyperlink Then
UserForm1.Label2.Caption = "插入超链接 "
UserForm1.Label2.ForeColor = vbBlack
With .Hyperlink
'MsgBox tmp.Hyperlinks(1).SubAddress '此弹窗为获得链接的幻灯片地址信息
If .SubAddress = "296,4,幻灯片 4" Or .SubAddress = "150995240,4,幻灯片 4" Then '前者为office2010下,后者为wps2019下
UserForm1.Label21.Caption = "超链接正确 "
UserForm1.Label21.ForeColor = vbBlack
Else
UserForm1.Label21.Caption = "超链接错误 "
UserForm1.Label21.ForeColor = vbRed
End If
End With
Else
UserForm1.Label2.Caption = " 没正确插入超链接 "
UserForm1.Label2.ForeColor = vbRed
UserForm1.Label21.Caption = " "
End If
End With
其中Label为创建工程窗体中的标签