I do not have QTP at hand, but you could try something like this were I launch the assumption that the objects are actually functions that return an object with the same name of that function.
Dim ClassName: ClassName="JavaRadioButton"
Dim Descr: Set Descr=Description.Create
Descr.Add "property1", "value"
Descr.Add "property2", "value"
Descr.Add "property3", "value"
Descr.Add "micclass", ClassName
Dim constructor : Set constructor = GetRef(ClassName)
Dim MyTO: Set MyTO=constructor(Descr)
Could you try that and let me know what it is doing? I am seriously curious.
EDIT
Basis for the assumption: The JavaScriptButton is a function that returns an object. The function can support arguments. This is a way to implement a builder or even an abstract factory pattern:
Option explicit
Class Duck
Private sound_
Public Name ' public field, refactor to property
Public Function Init(n, sound)
sound_ = sound
Name = n
Set Init = me
End Function
Public Sub Quack()
msgbox sound_
End Sub
End Class
Public Function NormalDuck(name)
Set NormalDuck = (new Duck).Init(name, "quack, quack")
End Function
Public Function RubberDuck(name)
Set RubberDuck = (new Duck).Init(name, "squick, squick")
End Function
Public Function DecoyDuck(name)
Set DecoyDuck = (new Duck).Init(name, "")
End Function
dim myDuck
dim duckBuilder
dim duckName, duckType
duckType = InputBox("What kind of duck do you want?", "DuckType", "NormalDuck")
Set duckBuilder = GetRef(duckType)
duckName = InputBox("What will be its name?", "DuckName", "Donald")
Set myDuck = duckBuilder(duckName)
myDuck.Quack
Note: VBScript supports the set o = (new foo).Init(bar)
construct, while the QTP "compiler" will return a syntax error. You'll have to split it into two statements in QTP