1

我一直在尝试使用 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
4

1 回答 1

5

问题是由于您没有b正确初始化。该while语句所做的第一件事是评估循环条件。在您的情况下,会发生以下情况:
-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(没有双关语)。

于 2013-02-05T01:31:17.610 回答