我之前发布了一个关于此的垃圾问题,并且已经离开并做了一些工作来重新询问。基本上我做了一个ppt测验,计算一个人给出了多少正确和错误的答案。然后,它会在最后将此信息反馈给用户。然而,我现在想要发生的是我希望存储结果,以便我可以返回并查看每个用户在测验中的表现。理想情况下,我希望它可以在6个联网计算机上工作,将所有测验结果存储在一个地方。但如果需要,我可以从6台计算机中的每台计算机中取出一个文件。
到目前为止我的代码看起来像这样:
Dim username As String
Dim numberCorrect As Integer
Dim numberWrong As Integer
Sub YourName()
username = InputBox(prompt:="Type your Name")
MsgBox " Get Ready to begin " + username, vbApplicationModal, " Orange 1C Book 7"
End Sub
Sub correct()
numberCorrect = numberCorrect + 1
ActivePresentation.SlideShowWindow.View.Next
End Sub
Sub incorrect()
numberWrong = numberWrong + 1
ActivePresentation.SlideShowWindow.View.Next
End Sub
Sub Start()
numberCorrect = 0
numberWrong = 0
YourName
ActivePresentation.SlideShowWindow.View.Next
End Sub
Sub Results()
MsgBox "Well done " & username & " You got " & numberCorrect & " out of " & numberCorrect + numberWrong, vbApplicationModal, "Orange 1C Book 7"
End Sub'
非常感谢任何帮助。不确定从下一步开始的位置。
答案 0 :(得分:1)
这里有一个选项...但首先要解释一下。此代码将创建TXT文件。每当有人到达Results
宏时,它都会将结果添加到文件中。因此,一个文件将保留所有结果,直到您不删除它们(或文件)。因此,我添加了分隔线和日期/时间信息,以便您轻松找到合适的结果。
Sub Save_Results_To_Txt()
'set file results location to activepresentation path
'or could be changed to any path string
Dim strWhere As String
strWhere = ActivePresentation.Path
'let's set name of the file separately
Dim strName As String
strName = "\results.txt"
Dim ff As Long
ff = FreeFile
Open strWhere & strName For Append As #ff
Write #ff, Now & vbTab & username
Write #ff, numberCorrect & vbTab & vbTab & numberWrong
Write #ff, String(30, "-")
Close #ff
End Sub
您需要将Save_Results_To_Txt
添加到Results
子广告,可能在MsgBox
行之前。
您的results.txt文件如下所示:
"2013-04-25 16:11:05 Tom"
"10 11"
"------------------------------"
"2013-04-25 16:11:23 Mark"
"11 10"
"------------------------------"