MsgBoxResult.Yes=重新启动程序,MsgBoxResult.no=关闭程序帮助VBA
我希望我的程序向用户显示一个msgbox,告诉用户如果bank=0或200,您是否想再试一次。用户选择是或否。以下是我的代码:MsgBoxResult.Yes=重新启动程序,MsgBoxResult.no=关闭程序帮助VBA,vba,msgbox,Vba,Msgbox,我希望我的程序向用户显示一个msgbox,告诉用户如果bank=0或200,您是否想再试一次。用户选择是或否。以下是我的代码: If bank = 0 Or 200 Then MsgBox("Would you like to try again?", MsgBoxStyle.YesNo, vbYesNo) If MsgBoxResult.Yes Then Application.Restart() ElseIf M
If bank = 0 Or 200 Then
MsgBox("Would you like to try again?", MsgBoxStyle.YesNo, vbYesNo)
If MsgBoxResult.Yes Then
Application.Restart()
ElseIf MsgBoxResult.No Then
Me.Close()
End If
我的问题是,当有人选择“否”时,程序会忽略我。请关闭并重新启动程序
感谢您的帮助……免责声明:我的回答可能是错误的,因为我不是VB开发人员 据我所知,MsgBoxResult.Yes和MsgBoxResult.No是常量
dim MsgBoxResultQuery As MsgBoxResult
If bank = 0 Or 200 Then
MsgBoxResultQuery = MsgBox("Would you like to try again?", MsgBoxStyle.YesNo, vbYesNo)
If MsgBoxResultQuery = MsgBoxResult.Yes Then
Application.Restart()
ElseIf MsgBoxResultQuery = MsgBoxResult.No Then
Me.Close()
End If
MsgBoxResult.Yes似乎在内部定义为某种非零整数。因此,第一个IF查询总是成功的
您必须获取MsgBox的返回值,其中包含用户单击的结果。然后将此返回值与常量进行比较
dim MsgBoxResultQuery As MsgBoxResult
If bank = 0 Or 200 Then
MsgBoxResultQuery = MsgBox("Would you like to try again?", MsgBoxStyle.YesNo, vbYesNo)
If MsgBoxResultQuery = MsgBoxResult.Yes Then
Application.Restart()
ElseIf MsgBoxResultQuery = MsgBoxResult.No Then
Me.Close()
End If
重新启动程序是什么意思?我不认为Windows进程被终止,然后再次启动。可能只有表单被重新打开或其他什么。重新启动的意思是当用户选择“否”程序时,它会忽略我。关闭并运行应用程序。因此,重新启动…它工作得非常好!。我打算如何运行MsgBox。谢谢!