Search code examples
vbscriptqtp

Is it possible to call a function whose name is stored in a string in vbscript?


i am trying to write a script in qtp like this

Public Function sayhi

msgbox "hi"

end

Dim level0

dim count1
 count1 = DataTable.GetSheet("Action1").GetRowCount
msgBox  count1

For counterVariable = 1 to count1
    functionname =  DataTable.value("methodnames","Action1")
    call functionname
    DataTable.GetSheet("Action1").SetCurrentRow(counterVariable)
Next

assume functionname is going to have a value say "sayhi". Can i use that value to call the function ? like i did in the code "call functionname".

I know it is not working but how to do such call ?


Solution

  • Option Explicit 
    
    function abc(a)
      MsgBox a
    End function
    
    dim run : run = "abc ""Hallo"""
    execute run
    

    The execute method can do this


    Public Function sayhi
    
    msgbox "hi"
    
    end
    
    Dim level0
    
    dim count1
     count1 = DataTable.GetSheet("Action1").GetRowCount
    msgBox  count1
    
    For counterVariable = 1 to count1
        functionname = "call " &  DataTable.value("methodnames","Action1")
        execute functionname
        DataTable.GetSheet("Action1").SetCurrentRow(counterVariable)
    Next
    

    will call sayhi if its in the datatable.