在VBA中合并两组对象
是否可以在VBA中组合两组对象?我试图将通过getelementsbytagname获得的两组元素组合起来 下面是这样的在VBA中合并两组对象,vba,excel,object,Vba,Excel,Object,是否可以在VBA中组合两组对象?我试图将通过getelementsbytagname获得的两组元素组合起来 下面是这样的 Set a = oXMLFile.getElementsByTagName(tag1) Set b = oXMLFile.getElementsByTagName(tag2) c = union(a,b) 任何人都可以提供帮助?您可以编写一个XPath表达式,该表达式是两个标记名的并集,并将其馈送到中。selectNodes将为您提供一个IXMLDOMNodeList,其
Set a = oXMLFile.getElementsByTagName(tag1)
Set b = oXMLFile.getElementsByTagName(tag2)
c = union(a,b)
任何人都可以提供帮助?您可以编写一个XPath表达式,该表达式是两个标记名的并集,并将其馈送到
中。selectNodes
将为您提供一个IXMLDOMNodeList,其中包含具有任一标记的所有元素节点
如果希望每个元素节点都称为“foo”,每个元素节点都称为“bar”,那么这应该是可行的(XPath中的|符号是):
注:
- 节点将按照它们在文档中出现的顺序返回,因此您将在整个集合中混合使用这两个标记的节点。在XPath2.0及更高版本中。这可以通过使用运算符来避免,但MSXML2仅支持XPath 1.0
- 这样使用//效率不高,因此在较大的文档上最好使用更具体的查询(例如“/fee/fi/foo |/fee/fi/bar”)
- DOM文档应声明为“DOMDocument60”(早期绑定)或创建为“DOMDocument.6.0”(后期绑定)。MSXML2 DOMDocument的较旧版本使用XSL模式作为查询语言,而不是XPath,但您可以按所述重写此文档
中。selectNodes
将为您提供一个IXMLDOMNodeList,其中包含具有任一标记的所有元素节点
如果希望每个元素节点都称为“foo”,每个元素节点都称为“bar”,那么这应该是可行的(XPath中的|符号是):
注:
- 节点将按照它们在文档中出现的顺序返回,因此您将在整个集合中混合使用这两个标记的节点。在XPath2.0及更高版本中。这可以通过使用运算符来避免,但MSXML2仅支持XPath 1.0
- 这样使用//效率不高,因此在较大的文档上最好使用更具体的查询(例如“/fee/fi/foo |/fee/fi/bar”)
- DOM文档应声明为“DOMDocument60”(早期绑定)或创建为“DOMDocument.6.0”(后期绑定)。MSXML2 DOMDocument的较旧版本使用XSL模式作为查询语言,而不是XPath,但您可以按所述重写此文档
Set listOfBothTags = domDoc.selectNodes("//foo | //bar")