当我尝试使用Do Loop时退出

时间:2013-02-05 01:24:58

标签: vbscript

我一直在尝试使用Do Loop,但由于某些原因,当代码遇到do loop命令时,它就会退出。它甚至没有给我任何错误。在此语句之后有大量脚本,但它不会被处理和执行。有没有我可以使用的替代方法,或者我只是做错了?

Do while b = vbRetry
msgbox "Remote Keyboard Control accepted from ip 346.195.639.63"
msgbox "Attempting to Block Connection..."
b = msgbox("Could not block connection.", vbCritical+vbAbortRetryIgnore+vbSystemModal)
Loop

1 个答案:

答案 0 :(得分:5)

问题是由于您未正确初始化bwhile语句的第一件事就是评估循环条件。在您的情况下,会发生以下情况:
  - b未定义   - b是否等于vbRetry?不,让我们停止循环(甚至在开始之前)。

由于您需要至少循环一次,因此您应该按如下方式重写脚本:

Do 
  msgbox "Remote Keyboard Control accepted from ip 346.195.639.63"
  msgbox "Attempting to Block Connection..."
  b = msgbox("Could not block connection.", vbCritical+vbAbortRetryIgnore+vbSystemModal)
Loop while b = vbRetry

这意味着“至少循环一次,然后检查b是否等于vbRetry”。

请注意,我不是100%确定语法是否正确,我有一段时间没有使用过vbScript(没有双关语)。