【发布时间】:2018-08-31 00:36:17
【问题描述】:
以下宏脚本出现错误。需要在单个表中提取日期、姓名和地址。由于 date 只有一个值,因此第二个值返回 null。
但是我需要相同的值出现在提取日期的所有记录中
Set ApplicationsNode = oXMLFile.SelectNodes("/Extract/Applications/Application")
Set extractnodes = oXMLFile.SelectNodes("/Extract/ExtractDate")
Set NameNode = oXMLFile.SelectNodes("/Extract/Applications/Application/Name/text()")
Set AddrNode = oXMLFile.SelectNodes("/Extract/Applications/Application/Addr/text()")
For i = 0 To (ApplicationsNode.Length - 1)
Extract = extractnodes(i).NodeValue
Name = NameNode(i).NodeValue
Addr = AddrNode(i).NodeValue
mainWorkBook.Sheets("Sheet1").Range("A" & i + 2).Value = Extract
mainWorkBook.Sheets("Sheet1").Range("C" & i + 2).Value = Name
mainWorkBook.Sheets("Sheet1").Range("D" & i + 2).Value = Addr
Next
输入 XML:
<Extract>
<ExtractDate>2018-02-21 10:01:01</ExtractDate>
<Applications>
<Application>
<Name>1234</Name>
<Addr>700ST</Addr>
</Application>
<Application>
<Name>123466</Name>
<Addr>277AVD</Addr>
</Application>
<Applications>
</Extract>
【问题讨论】:
-
什么错误?在哪里?
-
另外,XML 格式不正确。最后一行应该是
</Application> </Applications> </Extract> -
运行时错误 - 91:Extract = extractnodes(i).NodeValue 中出现对象变量或块变量未设置错误;因为节点值从输入 XML 返回空
-
哪一行出错?
-
@Raja,修复 ashleedawg 已经指出的格式错误的 xml sn-p。我相信,您来这里是为了寻求一种解决方案,不要将其他人与您在上面粘贴的部分元素混淆。