Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
InsertBefore方法:对象不支持此方法或excel vba中的属性错误_Excel_Vba - Fatal编程技术网

InsertBefore方法:对象不支持此方法或excel vba中的属性错误

InsertBefore方法:对象不支持此方法或excel vba中的属性错误,excel,vba,Excel,Vba,我有一个XML结构,正在尝试将子节点添加到根元素的子节点。我正在使用insert before方法,但获取的对象不支持此属性或方法错误。以下是我的代码: Sub GenerateXMLBodyForNewTestCreation() Dim requestTemplate, cookie, createPerfTestURL As String Dim noOfScripts, i, sample As Integer requestTemplate = Sheets(

我有一个XML结构,正在尝试将子节点添加到根元素的子节点。我正在使用insert before方法,但获取的对象不支持此属性或方法错误。以下是我的代码:

Sub GenerateXMLBodyForNewTestCreation()
    Dim requestTemplate, cookie, createPerfTestURL As String
    Dim noOfScripts, i, sample As Integer

    requestTemplate = Sheets("XMLSampleForCreatePerfTest").Range("B1").Value
    Set CreateTestXMLTemplate = CreateObject("Msxml2.DOMDocument")
    CreateTestXMLTemplate.LoadXML (requestTemplate)
    noOfScripts = Sheets("ScriptDetails").UsedRange.Rows.Count

    Set root = CreateTestXMLTemplate.DocumentElement
    Set root1 = CreateTestXMLTemplate.SelectNodes("//Test/Content/Groups/Group")(0)

    For i = 2 To noOfScripts
        Set y = root1.CloneNode(True)
        sample = root.InsertBefore(y, root1(0))
    Next i

    CreateTestXMLTemplate.Save ("C:\Users\rrayudu\Desktop\XMLBody.xml")
End Sub

这可能是一个愚蠢的错误,但我正在努力让它工作。

请注意,
Dim noOfScripts,i,sample As Integer
仅声明
sample
Integer
,但如果未指定类型,则所有其他变量都声明为
Variant
。您需要为VBA中的每个变量指定一个类型:
Dim noOfScripts As Integer,i As Integer,sample As Integer
•还请澄清错误发生在哪一行。•我建议使用
选项Explicit
。错误出现在sample=root.InsertBefore(y,root1(0))行