MsgBoxResult.Yes=重启程序 MsgBoxResult.no=关闭程序帮助 VBA
MsgBoxResult.Yes=restart program and MsgBoxResult.no=close program Help VBA
我希望我的程序向用户显示一个消息框,上面写着 "Would you like to try again" 如果 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 MsgBoxResult.No Then
Me.Close()
End If
我的问题是,当有人选择 "No" 时,程序会忽略 "Me.Close",而是重新启动程序。
感谢帮助...
(免责声明:我的回答可能有误,因为我不是 VB 开发人员。)
据我了解,MsgBoxResult.Yes
和MsgBoxResult.No
是常量。
MsgBoxResult.Yes
似乎在内部定义为某种非零整数。所以第一个 IF 查询总是成功。
您必须获取 MsgBox()
的 return 值,其中包含用户点击的结果。然后将此 return 值与常量进行比较。
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
我希望我的程序向用户显示一个消息框,上面写着 "Would you like to try again" 如果 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 MsgBoxResult.No Then
Me.Close()
End If
我的问题是,当有人选择 "No" 时,程序会忽略 "Me.Close",而是重新启动程序。
感谢帮助...
(免责声明:我的回答可能有误,因为我不是 VB 开发人员。)
据我了解,MsgBoxResult.Yes
和MsgBoxResult.No
是常量。
MsgBoxResult.Yes
似乎在内部定义为某种非零整数。所以第一个 IF 查询总是成功。
您必须获取 MsgBox()
的 return 值,其中包含用户点击的结果。然后将此 return 值与常量进行比较。
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