先上一张图,相信大家肯定都遇到过类似这样的错误,一点调试按钮,就一堆报错。
更加头疼的是这种报错提供的代码行号还不一定准确,唔...头疼!怎么办呢?
不用急,下面教大家几招解决这个问题的方法
第一步,请点击按键精灵脚本上分的普通视图按钮。
发现啥了不?有一个很明显的错误提示,(语句无法识别,可能有错误):xxxxx
我们双击下看下代码,可以明显发现应该成对出现的双引号少了一个,我们把他补上。
这个方法的原理是利用普通视图下,按键精灵会把每一句代码单独校验并翻译成中文,如果某一句代码语法不对,那么就会提示错误并红色显示,一般是少写或多写了标点符号引起的。
如果普通视图没有红色报错情况,那只能说明单独每一行语法没有错误,出错原因是缺少了配对代码,例如少写了End If, 多写了括号Loop之类的原因。这种情况普通视图是无法报错的。
第二步,当我们补上后,依旧发现调试会报错,但是切换到普通视图却不提示红色语句,这就是上面说的缺少了配对代码。
这种情况更加难处理,所以我们采用二分法解决。
具体如下,把代码一分为二,前提是你要保证每部分代码都是能单独运行了。
例如你有多个函数子程序,那么你就新建一个脚本,把所有定义函数子程序部分都放到新脚本里,不写调用代码,直接调试。
如果报错,那么就说明这部分函数子程序定义有问题,继续新建一个脚本,再分一半出来重复调试操作,直到找到错误大概位置。
其他If,Do这些也一样,可以单独拿出来运行的配对代码,都单独调试下,看看到底是哪里缺少了配对代码。
当然,你也可以用逆向思维解决,注释掉一部分代码,调试下,如果不报错了,那么就是这段注释掉的代码有问题,再进一步缩小范围。
上面这段代码经过以上步骤可以定位到第389行补上End If即可解决