使用VBA在两个条件下等待循环

时间:2015-07-02 16:31:42

标签: excel vba internet-explorer loops if-statement

如果不满足其中一个条件,我需要循环宏。使用一些基本的刮擦。在开始收集数据之前,我需要循环直到准备好。

If ie.document.getElementsByClassName("clicks").Length < 1 Or ie.document.getElementsByClassName("feedback").Length < 1 Then
Do: Loop
End If

2 个答案:

答案 0 :(得分:0)

我认为它看起来像这样:

Do While ie.document.getElementsByClassName("clicks").Length >= 1 And ie.document.getElementsByClassName("feedback").Length >= 1
 '''code
Loop

答案 1 :(得分:0)

你的循环不会检查每次迭代,只检查一次,如果它没有准备好,那么它将进入无限循环。您需要一个每次循环迭代时都会检查的解决方案。

Do
    If ie.document.getElementsByClassName("clicks").Length < 1 Or ie.document.getElementsByClassName("feedback").Length < 1 Then
        DoEvents 'free the processor to work on other things
    Else
        Exit Do
    End If
Loop

这将检查每次循环迭代而不是一次。