an IXMLDOMAttribute as return value of a VBScript function

331 views Asked by At

I'm creating XML documents with VBScript and MSXML DOM. In order to structure and simplify my code I'm using classes and thus methods (functions in VBS) too.

Here is a little function that troubles me:

function createAttribute(name, value)

dim doc 
Set doc = CreateObject("Msxml2.DOMDocument.4.0")

dim attr 
set attr= doc.createNode(2,name,"")
attr.NodeValue=value

createAttribute=attr

end function

The assignment createAttribute=attr, where I'm setting the return value of the function, causes the following error:

Object doesn't support this property or method

As the web resources on XML processing with VBS are rather sparse, I hope some of you can help me to understand whats going on here. Here are my questions:

What object does not support what property or method?

Can i pass objects of any given class as return values of VBS functions?

Can i pass an object of the class IXMLDOMAttribute as a return value to a VBS function?

1

There are 1 answers

1
AudioBubble On BEST ANSWER

I think the problem is that attr is an object, so you need to use set to apply the return value. Otherwise, you may simply be returning attr's default property value (if it has one):

set createAttribute = attr

You don't show how you use the return value, so I can't comment on that but it is possibly the source of the error.