我可以使用VBA中的变量更新XML节点值吗
我是学习XML的新手,但在Excel2010中使用VBA还行 在Excel VBA中,我创建了一个简单的我可以使用VBA中的变量更新XML节点值吗,xml,excel,vba,Xml,Excel,Vba,我是学习XML的新手,但在Excel2010中使用VBA还行 在Excel VBA中,我创建了一个简单的CustomXMLPart,在单个根目录下有5个节点,类似于下面的示例: < <RefTest> <sRef1>SomeText</sRef1> 'text <sRef2>XYZ234</sRef2> 'text <sRef3>ABC123</sRef3&
CustomXMLPart
,在单个根目录下有5个节点,类似于下面的示例:
<
<RefTest>
<sRef1>SomeText</sRef1> 'text
<sRef2>XYZ234</sRef2> 'text
<sRef3>ABC123</sRef3> 'text
<dRef4>25/02/1953</dRef4> 'date or text?
<iRef5>0</iRef5> 'numeric or text?
</RefTest>
>
<
SomeText的文本
XYZ234'文本
ABC123'文本
1953年2月25日“日期还是文本?”?
0'是数字还是文本?
>
这一切正常,我可以读取值回使用VBA
我的问题是节点值(目前)是以文本(文本和数字)的形式输入的
我希望能够从Excel VBA中更新这些节点值,但使用VBA变量的内容
例如,用户在userform
文本框中输入一个值,然后输入一个变量(比如MyVar
),我想用这个变量的内容更新节点值。
一种“使用MyVar更新节点iRef5”。
在web上,我几乎找不到像这样更新XML值的参考资料,尤其是使用变量
这可以从VBA内部完成吗?
如果是的话,方法是什么,XML是如何处理变量的,请举一个确切语法的例子
非常感谢。我不知道您的xml将采用什么结构。 但如果只有这五个节点,也许类似的东西可以帮助您:
Sub XMLTest()
Dim myVar As String, pathToXML As String
Dim xmlDoc As Object, xmlRoot As Object
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
pathToXML = "N:\example.xml" '<--- change the path
Call xmlDoc.Load(pathToXML)
Set xmlRoot = xmlDoc.getElementsByTagName("RefTest").Item(0)
myVar = "foobar" '<--- your value
xmlRoot.selectSingleNode("iRef5").Text = myVar
Call xmlDoc.Save(pathToXML)
End Sub
Sub-XMLTest()
Dim myVar作为字符串,pathToXML作为字符串
Dim xmlDoc作为对象,xmlRoot作为对象
设置xmlDoc=CreateObject(“MSXML2.DOMDocument”)
pathToXML=“N:\example.xml”'非常感谢MiVoth。经过一点调整,这让我走了。