Yes!! we can use VBA for web application also.I have faced a situation where I have to extract sales report for different locations from web application using different login Id and password. So it's a time comsuming process to login each time with different userid & password. So we can automatize the process using VBA code.
First of all we have to take two references in Tools menu of VBA Editor
1. Microsoft HTML object library
2.Microsoft Internet Controls
Sample VBA code for this:
Sub loginWebWeX()
Dim htmldoc As HTMLDocument
Dim browser As InternetExplorer
Dim surl As String
Dim objCollection As Object
Dim objElement As Object
surl = "https://login.yahoo.com/config/login_verify2?.intl=in&.src=ym"
On Error GoTo errorhandler
Set browser = New InternetExplorer
browser.Silent = True
browser.navigate surl
browser.Visible = True
'MsgBox "Your request is being processed"
Do While browser.Busy Or browser.ReadyState <> READYSTATE_COMPLETE
DoEvents
Loop
Set htmldoc = browser.document
Set objCollection = htmldoc.getElementsByTagName("Input")
i = 0
While i < objCollection.Length
If objCollection(i).Name = "username" Then
objCollection(i).Value = ThisWorkbook.Sheets(1).Range("A1").Value
ElseIf objCollection(i).Name = "passwd" Then
objCollection(i).Value = ThisWorkbook.Sheets(1).Range("A2").Value
End If
i = i + 1
Wend
Set objCollection = Nothing
Set objCollection = htmldoc.getElementsByTagName("button")
While j < objCollection.Length
If objCollection(j).Type = "submit" Then
Set objElement = objCollection(j)
objElement.Click
End If
j = j + 1
Wend
Set objCollection = Nothing
Set objElement = Nothing
Set htmldoc = Nothing
Set browser = Nothing
Exit Sub
errorhandler:
MsgBox Err.Description
End Sub
No comments:
Post a Comment