我可以使用VBA中的variables更新XML节点值吗?

我是学习XML的完全新手,但在Excel 2010中使用VBA即可。

在Excel VBA中,我创build了一个简单的具有5个节点的CustomXMLPart ,类似于下面的示例:

 < <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> > 

这工作正常,我可以读取使用VBA返回的值。

我的问题是,节点值(目前)是作为文字(文本和数字)input。

我希望能够从Excel VBA中更新这些节点值,但使用VBAvariables的内容。

因此,例如,用户将一个值input到一个用户userform文本框,一个variables(比如MyVar ),我想用这个variables的内容来更新节点值。 一种“带有MyVar的更新节点iRef5”。 我可以find很less的参考来更新像这样的XML值,尤其是使用variables,在networking上。

这可以从VBA内完成吗? 如果是这样,那么这个方法是什么呢,XML是如何处理variables的,也许是一个精确语法的例子。

感谢所有人的期待。

我不知道你的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 

如果这不能帮助你,你应该提供更多关于你的xml和你真正想做的事情的信息。