Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
VBScript - How to get the Function return value
#1
Solved: 10 Years, 8 Months, 3 Weeks ago
Hi All,
I have scenario like
1. i am passing value (rowCnt) and file name (fileName) to the function
2. Inside Function i am reading xls file and getting some row count (row_count)
3. In side the function i can able to compare rowCnt = row_count by using reporter.ReportEvent

My question is: I want to do use "reporter.ReportEvent" out side the function.
4. How to write if condition inside function to satisfy my scenario.

Code:
Window("Lilly Science Grid").Page("Page_3").Link("25").Click
rowCnt = Window("Lilly Science Grid").Page("Page_3").Link("25").GetROProperty("text") '
convLng = CLng(rowCnt) ' Convert to String to Long
[b]retFunc = GetRowCount(convLng, fileName) [/b] // Function calling

fileName = "D:\SaveXlsFile.xls"

[b]Function GetRowCount(convLng,fileName)[/b]
SwfWindow("Lilly Science Grid").Dialog("File Download").Click 285,18
SwfWindow("Lilly Science Grid").Dialog("File Download").Activate
SwfWindow("Lilly Science Grid").Dialog("File Download").WinButton("Save").Click
Dialog("Save As").Activate
Dialog("Save As").WinEdit("File name:").Set "D:\SaveXlsFile.xls"
Dialog("Save As").WinButton("Save").Click
Dialog("Save As_2").WinButton("Yes").Click
'Dialog("Download complete").Click 321,184
'Dialog("Download complete").WinButton("Close").Click

Set xlObj = CreateObject ("Excel.Application") ' Create Excel object
Set wBook = xlObj.workBooks.Open(fileName) ' Pass file name
Set sheetName = wBook.worksheets("Sheet1") ' Pass default sheet name
row_count  = sheetName.usedrange.rows.count -1' 'Return total number of rows

If row_count  = convLng Then
// I want to write below code out side the function but i have to validate [b]if condition here only (If row_count  = convLng )[/b][b]
    reporter.ReportEvent micPass, "Row Count Validation","Row Count matching with column header. Step.Pass"
    else
    reporter.ReportEvent micFail, "Row Count Validation","Row Count is not matching with column header.Step.Fail"
End If
wBook.close
End Function

Kindly suggest how to approach [/b]and i will appreciate your help
Reply
#2
Solved: 10 Years, 8 Months, 3 Weeks ago
Hi

Two Ways:

Code:
Function GetRowCount(fileName)
SwfWindow("Lilly Science Grid").Dialog("File Download").Click 285,18
SwfWindow("Lilly Science Grid").Dialog("File Download").Activate
SwfWindow("Lilly Science Grid").Dialog("File Download").WinButton("Save").Click
Dialog("Save As").Activate
Dialog("Save As").WinEdit("File name:").Set "D:\SaveXlsFile.xls"
Dialog("Save As").WinButton("Save").Click
Dialog("Save As_2").WinButton("Yes").Click
'Dialog("Download complete").Click 321,184
'Dialog("Download complete").WinButton("Close").Click

Set xlObj = CreateObject ("Excel.Application") ' Create Excel object
Set wBook = xlObj.workBooks.Open(fileName) ' Pass file name
Set sheetName = wBook.worksheets("Sheet1") ' Pass default sheet name
row_count = sheetName.usedrange.rows.count -1' 'Return total number of rows
[b]GetRowCount=row_count[/b]
End Function

retFunc = GetRowCount( fileName) // Function calling
retFunc will store the value and you can use this in your script.

2nd Approach:
Code:
Function GetRowCount(BYVal convLng , fileName)
SwfWindow("Lilly Science Grid").Dialog("File Download").Click 285,18
SwfWindow("Lilly Science Grid").Dialog("File Download").Activate
SwfWindow("Lilly Science Grid").Dialog("File Download").WinButton("Save").Click
Dialog("Save As").Activate
Dialog("Save As").WinEdit("File name:").Set "D:\SaveXlsFile.xls"
Dialog("Save As").WinButton("Save").Click
Dialog("Save As_2").WinButton("Yes").Click
'Dialog("Download complete").Click 321,184
'Dialog("Download complete").WinButton("Close").Click

Set xlObj = CreateObject ("Excel.Application") ' Create Excel object
Set wBook = xlObj.workBooks.Open(fileName) ' Pass file name
Set sheetName = wBook.worksheets("Sheet1") ' Pass default sheet name
[b]convLng [/b]= sheetName.usedrange.rows.count -1' 'Return total number of rows
End Function

Then Use the convLng variable in your code.

Do let me know if you have any other question.
Reply
#3
Solved: 10 Years, 8 Months, 3 Weeks ago
assign to the FunctionName the returnedValue, for e.g. if:

Code:
Public Function DateConversion
    Set DateConversion = New QTPDateConversion
End Function

Class QTPDateConversion

' the function is converting the Todays computer's date to the date format: "1YYMMDD"
    Function TodaysDate
        ' SystemDate contains the current system date from the computer.
            SystemDate = Date
        ' adding one more day to output current date, if CurrentDate = 18, output will be 19
            'strNewDate = DateAdd("d", 1, SystemDate)
        ' converting date to a string ( will be something like e.g. (depends on system date): 02192010 -> ddmmyyyy
            fctReturn = Cstr(SystemDate)
        ' LeftString contains first two elements, from the "02192010" string -> 02
            LeftString = Left(fctReturn, 2)    ' date
        ' MidString contains the next 2 chars starting with the 3rd char.
            MidString = Mid(fctReturn, 4, 2)    ' month
        ' Returns the last two chars from the "02192010" string -> 10
            RightString = Right(fctReturn, 2)    ' year (two numbers)
        ' converting the string into the format we need it
            ConvertedDate = "1" & RightString & MidString & LeftString    ' format = 1100923

        ' assigning the output value
        TodaysDate = ConvertedDate
    End Function
End Class

To call this function we will use next:
DateConversion.TodaysDate

DateConversion = class' name
TodaysDate = function's name
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Childobject return wrong checkbox count.. VpnQTP 1 2,552 04-09-2015, 09:07 PM
Last Post: babu123
  Calling a Function in Function Library when function is defined in an Action jitenderkkr 0 2,765 11-27-2014, 12:53 PM
Last Post: jitenderkkr
  SQL on oracle database doesn't return a value Bluefields 2 3,051 07-09-2012, 01:23 PM
Last Post: Bluefields
  Return reusable object HelenN 0 4,194 04-20-2011, 08:31 PM
Last Post: HelenN
  Calling a JS function which is externally located using a VBScript Func in QTP HishSingalaxana 0 2,835 11-09-2010, 11:02 AM
Last Post: HishSingalaxana

Forum Jump:


Users browsing this thread: 1 Guest(s)