今天我开始尝试为 Windows 创建自己的自定义对话框。我可以使用快捷方式/wscript.exe 来运行包含以下内容的 VBS 文件:(请忽略该对话框。我知道驱动器 C: 不会被擦除,我也不打算让这种情况发生。这只是在我制作有用的对话框之前的练习。)
Option Explicit
x=MsgBox("Proceeding will wipe the contents of your C: Drive. Proceed?", 1+48, "Format Drive C:")
但是,此时单击“确定”或“取消”时,会出现错误。以前,单击“确定”或“取消”会完全关闭此操作,但现在会出现运行时错误,我认为这比没有错误要好。但是,错误对我没有帮助。
Option Explicit
x=MsgBox("Proceeding will wipe the contents of your C: Drive. Proceed?", 1+48, "Format Drive C:")
If x=1 Then
y=MsgBox("The contents of your C: Drive could not be successfully deleted.", 0+64, "Error Formatting Drive C: - System Error 5")
If x=2 Then
x=MsgBox("Not all of the contents of your C: Drive were successfully deleted. Please try again.", 0+64, "Error Formatting Drive C: - System Error 303")
如果我添加下一步应该做什么的“说明”,那么当我打开文件时就会出现错误,我什么也做不了
我已经尝试更改了大部分代码。我尝试过使用 dim、删除 x、定义变量、将后续消息框定义为变量、删除括号等……我今天才开始编写自己的 VBS 文件,但我已经使用 .bat 文件进行批处理脚本编写很长时间了。即使改变了语言,我的所有故障排除也无济于事,我几乎可以肯定我已经正确定义了变量。
有人能告诉我我这样做对吗?我试过很多例子,但即使微软关于VBS-MsgBox的官方网页毫无用处。如果我在某个地方犯了一个愚蠢的错误,我提前道歉,但我已经更改了几乎所有的代码,但我仍然卡住了。
任何帮助大大非常感谢。我已经花了 4 个小时来修复这个问题。
答案1
尝试一下这个例子:
Option Explicit
Dim Title,Question
Title = "user input in VBS with MsgBox"
Question = MsgBox("Proceeding will wipe the contents of your C: Drive. Proceed ?",vbYesNo+vbQuestion, Title)
If Question = vbYes Then
MsgBox "We proceed wipping your C:\ drive",vbExclamation,Title
'Call your sub here to continue proceeding your script
Else
MsgBox "Canceling the operation !",vbCritical,Title
Wscript.Quit()
End If
有关更多信息MsgBox 常量