是否可以将参数传递给选择节点路径?

时间:2017-12-29 17:42:52

标签: excel vba excel-vba

以下条件返回特定节点下的元素列表。

Set List = xmlDoc.SelectNodes("//page[0]/method")

这里我总共有3个页面节点。并且我将一个参数传递给路径以获取节点的特定元素,并且它正在工作。

但是当我尝试用变量传递参数值时。它不起作用。

Dim i As integer
i=0
Set List = xmlDoc.SelectNodes("//page[i]/method")

有没有办法在循环中传递参数?

请帮助我!

3 个答案:

答案 0 :(得分:0)

要将变量与文字合并,您需要使用quotes&

Dim i As integer
  i=0
Set List = xmlDoc.SelectNodes("//page[" & i & "]/method")

希望它有所帮助。

答案 1 :(得分:0)

以下是如何包含变量并将其循环:

Dim i As integer
For i = 0 to 10
    Set List = xmlDoc.SelectNodes("//page[" & i & "]/method")

    ' Do something with the List

Next

答案 2 :(得分:0)

您可以使用辅助功能:

Function FormatString(s As String, ParamArray args())
    Dim x As Integer
    For x = 0 To UBound(args)
        s = Replace$(s, "{" & x & "}", args(x))
    Next
    FormatString = s
End Function

用法:

Set List = xmlDoc.SelectNodes(FormatString("//page[{0}]/method", i))