按下取消按钮后,如何让我的VBScript取消进程?当按"确定"时,我希望VBScript打开一个新的InputBox.我已经得到了这个有点工作,但我也想给一个功能"取消"按钮.一个函数,可以阻止整个VBScript打开任何其他MsgBox或InputBox.
我尝试过这样的事情:
Set shell = createobject("wscript.shell")
strtext = InputBox("text")
vbCancel
If vbCancel then
WScript.Quit
End if
Run Code Online (Sandbox Code Playgroud)
来自MSDN:
提供帮助文件和上下文时,会自动将"帮助"按钮添加到对话框中.
如果用户单击"确定"或按ENTER键,则InputBox函数将返回文本框中的任何内容.如果用户单击"取消",则该函数返回零长度字符串("").
上面的大胆部分并不完全正确.
用户可以通过多种方式取消InputBox对话框; 通过关闭对话框,单击Cancel或按ESC,ALT+ F4等等.在所有情况下,除了按下⏎或单击OKInputBox返回Empty(未初始化的变体,其值为0表示数字,零长度字符串("")为字符串隐式),这意味着对话框被解除.
由于在零长度字符串("")和Empty变量之间存在隐式转换,因此寻找零长度字符串相等性,因为MSDN建议并不总是合适的解决方案(例如,在零长度字符串意味着"使用默认值"的逻辑中,没有取消).
Dim retval
retval = InputBox("txt")
If IsEmpty(retval) Then
'cancelled
MsgBox "operation has been cancelled"
Else
'something has entered even zero-length
MsgBox retVal
End If
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20331 次 |
| 最近记录: |