Is there a way to lets say go to www.gmail.com and automatically have VBA fill in the user name and password ? I am trying to automate login for my co workers to a certain site. Just havent been able to find out how. PLZ HELP !!
Sub Search2()
Dim IE As Object
Application.DisplayAlerts = False
Dim Max
Dim Name
Dim A
Range("A1").Select
Max = ActiveCell.Value
Range("b16").Select
For A = 1 To Max
Name = ActiveCell.Value
Set IE = CreateObject("InternetExplorer.Application")
'create new instance of IE
IE.Navigate "http://www.google.com"
'go to web page listed inside quotes
IE.Visible = True
While IE.Busy
DoEvents 'wait until IE is done loading the page
Wend
' While IE.Busy
' DoEvents 'wait until IE is done loading the page
' Wend
IE.Document.all("q").Value = Name ' Email Address
'IE.Document.all("q").Value = Name ' Password
While IE.Busy
DoEvents 'wait until IE is done loading the page
Wend
IE.Document.all("btnG").Click
'Y = 8
'For X = 1 To Y
' SendKeys "{TAB}", True
' SendKeys "{ENTER}", True
'Next X
'SendKeys "password", True
While IE.Busy
DoEvents 'wait until IE is done loading the page
Wend
IE.Quit
ActiveCell.Offset(1, 0).Activate
Next A
End Sub
[\code]
Sub Test()
Const cURL = "http://mail.google.com" 'Enter the web address here
Const cUsername = "XXXXXX" 'Enter your user name here
Const cPassword = "XXXXXX" 'Enter your Password here
Dim IE As InternetExplorer
Dim doc As HTMLDocument
Dim LoginForm As HTMLFormElement
Dim UserNameInputBox As HTMLInputElement
Dim PasswordInputBox As HTMLInputElement
Dim SignInButton As HTMLInputButtonElement
Dim HTMLelement As IHTMLElement
Dim qt As QueryTable
Set IE = New InternetExplorer
IE.Visible = True
IE.Navigate cURL
'Wait for initial page to load
Do While IE.ReadyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop
Set doc = IE.Document
'Get the only form on the page
Set LoginForm = doc.forms(0)
'Get the User Name textbox and populate it
'input name="Email" id="Email" size="18" value="" class="gaia le val" type="text"
Set UserNameInputBox = LoginForm.elements("Email")
UserNameInputBox.Value = cUsername
'Get the password textbox and populate it
'input name="Passwd" id="Passwd" size="18" class="gaia le val" type="password"
Set PasswordInputBox = LoginForm.elements("Passwd")
PasswordInputBox.Value = cPassword
'Get the form input button and click it
'input class="gaia le button" name="signIn" id="signIn" value="Sign in" type="submit"
Set SignInButton = LoginForm.elements("signIn")
SignInButton.Click
'Wait for the new page to load
Do While IE.ReadyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop
End Sub
Try:
This will log you into Gmail, alter as needed (See notes below first!!!)
A few notes on this code:Code:Sub Test() Const cURL = "http://mail.google.com" 'Enter the web address here Const cUsername = "XXXXXX" 'Enter your user name here Const cPassword = "XXXXXX" 'Enter your Password here Dim IE As InternetExplorer Dim doc As HTMLDocument Dim LoginForm As HTMLFormElement Dim UserNameInputBox As HTMLInputElement Dim PasswordInputBox As HTMLInputElement Dim SignInButton As HTMLInputButtonElement Dim HTMLelement As IHTMLElement Dim qt As QueryTable Set IE = New InternetExplorer IE.Visible = True IE.Navigate cURL 'Wait for initial page to load Do While IE.ReadyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop Set doc = IE.Document 'Get the only form on the page Set LoginForm = doc.forms(0) 'Get the User Name textbox and populate it 'input name="Email" id="Email" size="18" value="" class="gaia le val" type="text" Set UserNameInputBox = LoginForm.elements("Email") UserNameInputBox.Value = cUsername 'Get the password textbox and populate it 'input name="Passwd" id="Passwd" size="18" class="gaia le val" type="password" Set PasswordInputBox = LoginForm.elements("Passwd") PasswordInputBox.Value = cPassword 'Get the form input button and click it 'input class="gaia le button" name="signIn" id="signIn" value="Sign in" type="submit" Set SignInButton = LoginForm.elements("signIn") SignInButton.Click 'Wait for the new page to load Do While IE.ReadyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop End Sub
Hope this helps,
- This is not all of my own work it must be credited to whom ever was the creator (I cannot remember where i got the framework code from)
- You will need to add in two references for this code--> in VB editor goto tools references and select both microsoft internet controls and microsoft HTML object library
- To find the required forms and button for your particular website you will need to look in the page source (Use firefox rather than IE as you can view selection)
Ash.