Kita akan mencoba membuat aplikasi di VBA yang akan membuat kita otomatis login/signin ke gmail.com. Untuk itu diperlukan 2 reference di proyek vba kita yaitu :
- Microsoft Internet Control
- Microsoft HTML Object Library
Caranya :
- Kita buat new workbook
- Masuk ke VBA Editor dengan shortcut ALT+F11 (atau cara lain terserah anda)
- Pilih workbook baru anda di Project Explorer lalu klik kanan, pilih Insert Module
- Masukkan 2 reference diatas, caranya pastikan project kita yang sedang aktif (klik aja module baru diatas, untuk memastikan juga bisa diliat title dari jendela VBA Editor)
- Klik Menu Tools - Reference
- pilih 2 references diatas
- nah VBA kita sudah siap untuk Login ke Internet
Sebelum bisa login ke gmail.com maka kita perlu pelajari HTML dari halaman login gmail
Kita buka pake Chrome karena ini adalah cara termudah memahami HTML
- Buka Chrome
- pergi ke halaman login gmail.com
- kalo sudah login kita logout dulu
- ini hasilnya
- Kalau tampilan sudah seperti dibawah ibni, klik kanan pada textbox email , lalu pilih Inspect Elements
- Kita pelajari HTML berikut
- ada 3 element yang penting, yaitu : textbox email memiliki nama "Email", textbox password punya nama "Passwd" dan tombol SignIn dengan nama "SignIn", kita ingat2 nama ke 3 elemen tersebut
- Kita masuk ke VBA Editor pada proyek kita tadi, kita ketik pada module
-
Dim HTMLDoc As HTMLDocument 'buat variable object sebagai browser Dim MyBrowser As InternetExplorer Sub MyGmail() 'buat variable untuk menampung HTML dari halaman login gmail Dim MyHTML_Element As IHTMLElement 'variabel alamat gmail Dim MyURL As String 'bikin trap error On Error GoTo Err_Clear MyURL = "https://www.gmail.com" Set MyBrowser = New InternetExplorer MyBrowser.Silent = True 'menuju ke gmail.com MyBrowser.Navigate MyURL 'tampilkan ie MyBrowser.Visible = True 'tungguin sampai selesai Do Loop Until MyBrowser.ReadyState = READYSTATE_COMPLETE 'ambil semua elemen HTML dari halaman login gmail Set HTMLDoc = MyBrowser.Document 'isi dengan nama dan password HTMLDoc.all.Email.Value = "puji.bayuaji@gmail.com" 'Enter email anda disini HTMLDoc.all.passwd.Value = "**********" 'Enter password disini 'klik sign in HTMLDoc.all.Signin.Click Err_Clear: If Err <> 0 Then Err.Clear Resume Next End If End Sub
- Kita coba, dan seharusnya sukses
- Namun ada masalah lagi, gimana jika kita sudah login namun dengan nama lain, account lain, code ini akan gagal
- Maka kita harus logout dulu dari gmail agar code ini berhasil
- Kita cari tahu bagaimana untuk logout
- kita lihat gambar dibawah
- Penjelasannya
- Kita cari tombol sign out
- Kita klik kanan lalu pilih Inspect Element
- Ketahuan kode HTML yang berhubungan dengan tombol tersebut
- cari alamat page jika mau logout
- lalu kita klik kanan pada kode tersebut lalu pilih copy Link address
- lalu kita kembali ke VBA Editor dan coba kita tambahin agar code berusaha logout dulu dari account sebelumnya sebelum login dengan account baru
- ini codenya
-
Dim HTMLDoc As HTMLDocument 'buat variable object sebagai browser Dim MyBrowser As InternetExplorer Sub MyGmail() 'buat variable untuk menampung HTML dari halaman login gmail Dim MyHTML_Element As IHTMLElement 'variabel alamat gmail Dim MyURL As String 'bikin trap error On Error GoTo Err_Clear MyURL = "https://www.gmail.com" Set MyBrowser = New InternetExplorer MyBrowser.Silent = True '***************************************************************** 'tambahan code agar 'logout dulu MyBrowser.Navigate "https://mail.google.com/mail/u/0/?logout&hl=en&hlor" Do Loop Until MyBrowser.ReadyState = READYSTATE_COMPLETE '***************************************************************** MyBrowser.Navigate MyURL MyBrowser.Visible = True Do Loop Until MyBrowser.ReadyState = READYSTATE_COMPLETE Set HTMLDoc = MyBrowser.Document HTMLDoc.all.Email.Value = "puji.bayuaji@gmail.com" 'Enter your email id here HTMLDoc.all.passwd.Value = "******" 'Enter your password here 'klik sign in HTMLDoc.all.Signin.Click Err_Clear: If Err <> 0 Then Err.Clear Resume Next End If End Sub
- Sekarang walopun sudah ada yang login di gmail, code ini tetep bisa dipakai
Bisa diterapkan misalnya membuka portal djp atau SIDJP dengan cepat
untuk buka data MFWP di apportal bagaimana ya pak????
Kalo install e-Audit Utilities, bisa akses appportal
http://eoditor.com/e-audit-utilities-add-in/