We will be exporting/sending the results of the PowerPoint Quiz...Read More
In this PowerPoint Quiz Module, we will be designing our module and adding an ActiveX Element – Label to keep count of the student’s score. The Label is placed inside a slide-master.
We increase the Points Label by 10 points every time a correct answer is pressed. We decrease the Points Label by 5 points every time an incorrect or wrong answer is attempted.
We also have a message box which will pop-up indicating whether your answer is correct or incorrect.
Sub Correct() Points.Caption = (Points.Caption) + 10 Output = MsgBox("Your answer is correct, well done!", vbOKOnly, "Correct Answer") ActivePresentation.SlideShowWindow.View.Next End Sub Sub Incorrect() Points.Caption = (Points.Caption) - 5 Output = MsgBox("Your answer is wrong.", vbOKOnly, "Wrong Answer") ActivePresentation.SlideShowWindow.View.Next End Sub Sub Reset() Points.Caption = 0 ActivePresentation.SlideShowWindow.View.Exit End Sub
We can keep the points label in our normal slide too. There is no proper valid reason to keep it inside a slidemaster. Yet the reason why I chose to place my label inside a slidemaster was the way slides were automatically named by PowerPoint VBA. If I have 10 slides, the last slide would be named Slide10. However, if I introduce another slide in between, that slide would named Slide11 and the new 11th slide would still be named Slide10. The slides are named numerically in the order of creation.
This would create lot of confusion if we introduced new question slides in-between. Thus, to reduce this heavy load of confusion, I decided to place it within a SlideMaster Layout.
Using the Syntax Label1.Caption we can increase or decrease the Points. We need not have a seperate data integer which scores the point. This is very straight-forward and easy for people to customise and understand the code.