vb做考试系统,如何从一个文件夹里随意抽取一套word操作题进行考试,并保存答案,请高手帮忙。

如题所述

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Function OpenURL(ByVal url As String)
Dim lngReturn As Long
lngReturn = ShellExecute(0, "open", url, "", Mid(URL, 1, InStrRev(url, "\") - 1), 1)
End Function


上面的代码是随意抽取一个文件
下面的代码是对答案进行保存

添加一个CommonDialog控件,和一个文本框Text1
在代码布顶部先定义一个全局变量
Dim SaveFileName As String '用来保存第一次保存的文件名
Private Sub Command1_Click() '保存文件过程
dim sFile as string
'如果SaveFileName为空则表示,当前没有点过保存,如果点过保存的话SaveFileName中就会有第一次保存过的文件名

if SaveFileName="" then
CommonDialog1.DialogTitle = "保存文件"
CommonDialog1.Filter = "文本文件|*.txt"
CommonDialog1.Action = 2
sFile=CommonDialog1.FileName
if sFile <> "" Then
Open sFile For Output As #1
Print #1, Text1.Text
Close #1
SaveFileName=sFile '第一次点过保存,SaveFileName中保存第一次保存过的文件名
End If
else
Open SaveFileName For Output As #1
Print #1, Text1.Text
Close #1
end if
End Sub

追问

请问怎么核对答案呢?答案一做成了一个word文档。我要实现评分。

追答

每次把提交的答案和word里的答案比较,如果符合就正确,不符合就错误,这样就行了。

追问

还请教个问题:添加新题目时要实现在原来题号得基础上顺序增加,,并把新题号显示在界面上,怎么实现?我编的老是出错:对象关闭时,不允许操作。

追答

添加新题目时,先把题目数量读出来,比如是120,然后把刚加的题目序号设置成121插进去就行。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答