我正在为此代码收到编译错误:
Public Sub CommandButton1_Click()
If TextBox1.Text = "log off" Then
Shell "cmd.exe /c shutdown -l", vbHide: TextBox2.Text = "Logging off"
If TextBox1.Text = "shutdown" Then
Shell "cmd.exe /c shutdown -s", vbHide: TextBox2.Text = "Shutting Down"
If TextBox1.Text = "restart" Then
Shell "cmd.exe /c shutdown -r", vbHide: TextBox2.Text = "Restarting"
Else
MsgBox "Command Not Defined",vbCritical
End Sub
现在,它提出了此错误消息"如果没有结束,则如果没有结束"。为什么?
您错过了End If
:
Public Sub CommandButton1_Click()
If TextBox1.Text = "log off" Then
Shell "cmd.exe /c shutdown -l", vbHide: TextBox2.Text = "Logging off"
ElseIf TextBox1.Text = "shutdown" Then
Shell "cmd.exe /c shutdown -s", vbHide: TextBox2.Text = "Shutting Down"
ElseIf TextBox1.Text = "restart" Then
Shell "cmd.exe /c shutdown -r", vbHide: TextBox2.Text = "Restarting"
Else
MsgBox "Command Not Defined", vbCritical
End If
End Sub
实际上,在您的代码中,您将始终具有TextBox2.Text
等于"Restarting"
。这就是为什么您应该使用ElseIf
语句。
您也可以使用Select Case
语句:
Public Sub CommandButton1_Click()
Select Case TextBox1.Text
Case "log off"
Shell "cmd.exe /c shutdown -l", vbHide: TextBox2.Text = "Logging off"
Case "shutdown"
Shell "cmd.exe /c shutdown -s", vbHide: TextBox2.Text = "Shutting Down"
Case "restart"
Shell "cmd.exe /c shutdown -r", vbHide: TextBox2.Text = "Restarting"
Case Else
MsgBox "Command Not Defined", vbCritical
End Select
End Sub