在vba中调用sub时出错



我卡住了,不能继续这个。请找到我的代码下面。该代码基本上是通过VBA验证一个元素是否存在于网页中。我已经创建了下面的子目录

Sub ele_exist(val As String, ele As String)
Select Case val:
Case "byid":
    Set verielement = doc.getElementById(ele)
    If verielement Is Nothing Then
    msgbox("something")
    Else
   msgbox("something")
    End If
Case "byclass":
    Set verielement = doc.getElementsByClassName(ele)
    If verielement Is Nothing Then
    msgbox("something")
    Else
   msgbox("something")
    End If
Case "byname":
    Set verielement = doc.getElementsByName(ele)
    If verielement Is Nothing Then
   msgbox("something")
    Else
   msgbox("something")
    End If
End Select
End Sub

现在当我调用这个子函数时它会得到syntax error

这是我调用上面的子

的地方
Sub start()
Set ie = New InternetExplorer
    With ie
        .navigate "http://www.google.com"
        .Visible = True
        While .Busy Or .readyState <> READYSTATE_COMPLETE
           DoEvents
        Wend
        Set doc = .document
        DoEvents
    End With
    ***ele_exist ("byname","btnK")*** - THIS IS WHERE SYNTAX ERROR IS DISPLAYED AND THE CODE IS DISPLAYED IN RED
End Sub

我甚至尝试将其转换为布尔函数而不是sub,但没有运气。

请帮

正如我在注释中提到的,更改

ele_exist ("byname","btnK")

ele_exist "byname","btnK"

Call ele_exist ("byname","btnK")
另一种可能的方法是使用命名参数:
ele_exist val:="byname", ele:="btnK"

要了解更多的解释,请查看我的另一篇文章:以这四种不同的方式输入参数有什么区别

最新更新