Be the first user to complete this post

  • 0
Add to List

VBA-Excel: Login To Already Opened GMAIL In An Internet Explorer (IE)

To Login To Already Opened GMAIL In An Internet Explorer (IE) using Microsoft Excel,

Steps:

  • Create the object of Shell Application
  • Get all the windows using shellobject.Windows
  • Navigate all the windows
  • check if window is Internet Explorer
  • if window is IE then check if it is Gmail browser and store the object
  • Get the Page object of Gmail window.
  • Iden­tify the objects on the Page using “GetElementById”
  • Set the Authen­ti­ca­tion details in the Gmail login page
  • Iden­tify the Sign In But­ton using “GetEle­ment­ById” and Click on it


Create the object of Shell Application

Set objShell = CreateObject("Shell.Application")

Get all the windows using shellobject.Windows

Set objAllWindows = objShell.Windows

Navigate all the windows

For Each ow In objAllWindows

check if window is Internet Explorer

If (InStr(1, ow, "Internet Explorer", vbTextCompare)) Then

if window is IE then check if it is Gmail browser and store the object

If (InStr(1, ow.locationURL, "mail.google.com", vbTextCompare)) Then

Set objGMAIL = ow

End If

Get the Page object of Gmail window.

Set objPage = objGMAIL.Document

Iden­tify the objects on the Page using “GetElementById”

Set NameEd­itB = objPage.getElementByID(“Email”)

Set the Authen­ti­ca­tion details in the Gmail login page

NameEditB.Value = strUserName

Iden­tify the Sign In But­ton using “GetEle­ment­ById” and Click on it

Set SignIn = objPage.getElementByID(“signIn”)   

        SignIn.Click

Complete Code:

Sub login()

    Set objShell = CreateObject("Shell.Application")
    Set objAllWindows = objShell.Windows

    For Each ow In objAllWindows
        'MsgBox ow
        If (InStr(1, ow, "Internet Explorer", vbTextCompare)) Then
            'MsgBox ow.Hwnd & "  " & ow & "   " & ow.locationURL
            If (InStr(1, ow.locationURL, "mail.google.com", vbTextCompare)) Then
                Set objGMAIL = ow
            End If
        End If
    Next

    If objGMAIL Is Nothing Then
    Else
        Set objPage = objGMAIL.Document
        Set NameEditB = objPage.getElementByID("Email")
        NameEditB.Value = "xxxxx"
        Set PWDEditB = objPage.getElementByID("Passwd")
        PWDEditB.Value = "yyyyyy"
        Set SignIn = objPage.getElementByID("signIn")
        'SignIn.Click    Uncomment it when you put valid gmail credentails
    End If

End Sub

Login Gmail
Login Gmail



Also Read:

  1. Excel-VBA : Prevent Changing the WorkSheet Name
  2. Excel-VBA : Send Unique Images Embedded to Mail Body, With Every Mail From MS Outlook using Excel.
  3. VBA-Excel: Working with Microsoft Word
  4. VBA-Excel: Edit And Save an Existing Word Document
  5. VBA-Excel: Create worksheets with Names in Specific Format/Pattern.