如何在VBA中重命名.xml文件

如何在VBA中重命名.xml文件,xml,vba,file-rename,Xml,Vba,File Rename,我需要在VBA中编辑一个.xml文档,我喜欢保留原始xml(ppp.xml)和新编辑的文件(我想称之为pppnew.xml),基本上不更新原始文件。由于我是一名基本用户,我从以下代码开始: Sub editxml() Dim Obj As MSXML2.DOMDocument Dim xmlpath As String Set Obj = New DOMDocument Obj.async = False Obj.validateOnParse = False xmlpath = &quo

我需要在VBA中编辑一个.xml文档,我喜欢保留原始xml(ppp.xml)和新编辑的文件(我想称之为pppnew.xml),基本上不更新原始文件。由于我是一名基本用户,我从以下代码开始:

Sub editxml()

Dim Obj As MSXML2.DOMDocument
Dim xmlpath As String

Set Obj = New DOMDocument
Obj.async = False
Obj.validateOnParse = False

xmlpath = "C:\Users\xxx\Desktop\ppp.xml"
Obj.SetProperty "SelectionNamespaces", "xmlns:ns0='http://update.DocumentTypes.Schema.ppp.Xml'"

If Obj.Load(xmlpath) = True Then
    MsgBox "File XML uploaded"
Else
    MsgBox "File XML not uploaded"
    Exit Sub
End If
        
        'My code follows here
    
Obj.Save xmlpath
End sub
我试图编辑下面的代码行

SelectionNamespaces", "xmlns:ns0='http://update.DocumentTypes.Schema.ppp.Xml'
把它变成

SelectionNamespaces", "xmlns:ns0='http://pppnew.Xml'

但它不起作用:代码更新了原始文件,我想保持原始文件不被编辑。

事实上,您正在将修改保存在同一个文件上

改变

Obj.Save xmlpath


非常感谢。我是否也需要编辑''SelectionNameSpace''行,还是让它固定下来?如果起始xml没有您决定的结构,并且生成的xml始终遵循原始架构和命名空间,我建议您不要更改该属性。我强烈建议您首先了解一下什么是模式和名称空间,以便更好地掌握XML的工作原理谢谢您的回复,您能为我推荐一个好的源代码吗?
new_xmlpath = "C:\Users\xxx\Desktop\new.xml"
Obj.Save new_xmlpath