2013-10-09 72 views
-1

我正在用答案框和檢查我的答案框進行測驗。我的vba無法在powerpoint上工作

我把代碼放在裏面,然後當我把答案寫在「錯誤再試一次」的時候,當我在盒子裏什麼都沒有寫的時候,它說「正確地完成了」。

我把代碼如下:

Private Sub CommandButton1_Click() 
If TextBox1.Value = motherboard Then 
    MsgBox "Correct. Well done!" 
    SlideShowWindows(1).View.Next 
Else 
    MsgBox "Wrong answer. Try again." 
End If 
+0

「主板」是一個變量,你沒有顯示,或文字?我還打賭你在代碼的開頭並沒有使用'Option Explicit'。 – LittleBobbyTables

+0

什麼是選項Eplicit我剛剛開始使用這個,我不知道如何使用它,請你能幫我 –

回答

0
Private Sub CommandButton1_Click() 
If TextBox1.Value = "motherboard" Then 
    MsgBox "Correct. Well done!" 
    SlideShowWindows(1).View.Next 
Else 
    MsgBox "Wrong answer. Try again." 
End If 

沒有在其他位置定義的主板,我假設你想要的文字答案是文本「主板」所以,你需要添加引號圍繞這個詞。

它接受你的答案的原因,當沒有一個是因爲當你添加一個未定義的變量默認值爲空。所以當你什麼都不輸入的時候,它和一個變量沒有任何關係。通過添加引號,它使它準確查找該單詞。

您也可能想要在傳入文本中添加某種過濾器,以便更有可能爲正確的答案提供一個額外的大寫字母空格。

Private Sub CommandButton1_Click() 
If Trim(LCase(TextBox1.Value)) = "motherboard" Then 
    MsgBox "Correct. Well done!" 
    SlideShowWindows(1).View.Next 
Else 
    MsgBox "Wrong answer. Try again." 
End If 

添加LCase命令將使所有輸入的文本小寫。添加修剪命令將刪除單詞前後的所有空格。

+0

而不是隻提供一個代碼轉儲沒有解釋,最好*解釋*給用戶什麼你已經糾正了,爲什麼他們的代碼無法正常工作。 – LittleBobbyTables

+0

@LittleBobbyTables正在那裏.... – user2140261

+0

非常感謝user2140261我明白了爲什麼我需要把引號放在你真正感謝的單詞旁邊謝謝 –

相關問題