You are on page 1of 12

Webbrowser Control Tip and Examples

Table of Contents
Introduction .............................................................................................................................................. 2 Navigating to a site ................................................................................................................................... 3 Opening a popup window with your app ................................................................................................. 3 Check if word/string is found on the page................................................................................................ 3 Regular Browser Functions ....................................................................................................................... 4 Advanced Browser Functions.................................................................................................................... 4 Changing web browser Font Size .............................................................................................................. 5 Making page on startup ............................................................................................................................ 6 Disabling functions appropriately (Back/Forward) ................................................................................... 6 Disabling functions appropriately (page setup/print preview/print setup) ............................................. 7 Removing Right Click Menu From the browser control ............................................................................ 8 Custom Right Click Menu .......................................................................................................................... 8 Grab all links on the page.......................................................................................................................... 9 Save Page .................................................................................................................................................. 9 Open Page ............................................................................................................................................... 10 Auto Submit ............................................................................................................................................ 10 Using A ProgressBar With The Webbrowser .......................................................................................... 11 Setting a Control in a Webbrowser to focus ........................................................................................... 11 Checkbox in a page, how to control it .................................................................................................... 12

Introduction
First of all the webbrowser control is not one of the controls that come by default in the control box. All you have to do to add it there is to press Ctrl + T key or (Project -> Components using the menu). Once in the components select window scroll down and check the box next to Microsoft Internet Controls and click ok. Examples:

Navigating to a site Popup browser using your own form Check if word/string is found on the page Making page on startup Regular Browser Functions Advanced browser functions Changing web browsers Font Size Disabling functions appropriately (Back/Forward) Disabling functions appropriately (page setup/print preview/print setup) Removing Right Click Menu From the browser control Grab all links on the page Save Page Open Page Auto Submit Using A ProgressBar With The Webbrowser Setting a Control in a Webbrowser to focus Checkbox in a page, how to control it Custom Right Click Menu

Navigating to a site
WebBrowser1.Navigate "www.google.com"

Opening a popup window with your app


If the user goes to a site where a new page needs to come in a new browser this code is made to open the target site in a new form.
Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean) Dim frm As Form1 Set frm = New Form1 Set ppDisp = frm. WebBrowser1 . Object frm.Show EndSub

Check if word/string is found on the page


Private Sub Command1_Click ( ) Dim strfindword As String strfindword = InputBox("What are you looking for?", "Find" , "") ' what word to find? If WebPageContains ( strfindword ) = True Then 'check if the word is in page MsgBox "The webpage contains the text" 'string is in page Else MsgBox "The webpage doesn't contains the text" 'string is not in page End If End Sub Private Function WebPageContains ( ByVal s As String ) As Boolean Dim i As Long , EHTML For i = 1 To WebBrowser1. Document . All . length Set EHTML = WebBrowser1. Document . All . Item ( i ) If Not ( EHTML Is Nothing ) Then If InStr ( 1 , EHTML. innerHTML , s, vbTextCompare ) > 0 Then WebPageContains = True Exit Function End If End If Next i End Function Private Sub Form_Load ( ) WebBrowser1. Navigate2 "www.msn.com" End Sub

Regular Browser Functions


Private Sub Command1_Click ( Index As Integer ) On Error Resume Next ' just in case there is no page back or forward 'I showed how to disabel them if you scroll down more Select Case Index Case 0 'Go Back Button WebBrowser1. GoBack 'Go Back one Page Case 1 'Go Forward Button WebBrowser1. GoForward 'Go Forward one Page Case 2 'Stop Button WebBrowser1. Stop 'stop page Case 3 'Refresh Button WebBrowser1. Refresh 'refresh page Case 4 'Go Home Button WebBrowser1. GoHome 'Go to home page Case 5 'Search Button WebBrowser1. GoSearch 'Search End Select End Sub

Advanced Browser Functions


Private Sub Command1_Click ( ) 'Print Button WebBrowser1. ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT 'Show Print Window End Sub Private Sub Command2_Click ( ) 'Print Preview Button WebBrowser1. ExecWB OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT 'Show Print Preview Window End Sub Private Sub Command3_Click ( ) 'Page Setup Button WebBrowser1. ExecWB OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT 'Show Page Setup Window End Sub Private Sub Command4_Click ( ) 'Page Properties Button WebBrowser1. ExecWB OLECMDID_PROPERTIES, OLECMDEXECOPT_DODEFAULT 'Show Page Properties Window End Sub Private Sub Form_Load ( ) WebBrowser1. Navigate "www.google.com" End Sub

Changing web browser Font Size


This Code shows you how to change the page font size, just like IE View -> Text Size Menu
Private Sub Command1_Click ( ) ' Smallest Button On Error Resume Next WebBrowser1. ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng ( 0 ) , vbNull End Sub Private Sub Command2_Click ( ) 'Small Button On Error Resume Next WebBrowser1. ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng ( 1 ) , vbNull End Sub Private Sub Command3_Click ( ) 'Medium Button On Error Resume Next WebBrowser1. ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng ( 2 ) , vbNull End Sub Private Sub Command4_Click ( ) 'Large Button On Error Resume Next WebBrowser1. ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng ( 3 ) , vbNull End Sub Private Sub Command5_Click ( ) 'Largest Button On Error Resume Next WebBrowser1. ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng ( 4 ) , vbNull End Sub Private Sub Form_Load ( ) WebBrowser1. Navigate2 "www.google.com" End Sub

Making page on startup


Private Sub Form_Load() WebBrowser1.Navigate "about:blank" End Sub Private Sub Command1_Click() Dim HTML As String HTML = "<HTML><TITLE>Page On Load</TITLE>" & _ "<BODY><FONT COLOR = BLUE> This is a <FONT SIZE = 5><B>" & _ "programmatically </B></FONT SIZE>made page</FONT></BODY></HTML>" WebBrowser1. Document . Write HTML End Sub

Disabling functions appropriately (Back/Forward)


Private Sub Command1_Click ( ) 'Go Back Button WebBrowser1. GoBack 'Go Back End Sub Private Sub Command2_Click ( ) 'Go Forward Button WebBrowser1. GoForward 'Go Forward End Sub Private Sub Form_Load ( ) WebBrowser1. Navigate "www.google.com" End Sub Private Sub WebBrowser1_CommandStateChange ( ByVal Command As Long , ByVal Enable As Boolean ) Select Case Command Case 1 'Forward Command2. Enabled = Enable Case 2 'Back Command1. Enabled = Enable End Select End Sub

Disabling functions appropriately (page setup/print preview/print setup)


Private Sub Command1_Click ( ) 'Print Button Show Print Window WebBrowser1. ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT End Sub Private Sub Command2_Click ( ) 'Print Preview Button Show Print Preview Window WebBrowser1. ExecWB OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT End Sub Private Sub Command3_Click ( ) 'Page Setup Button Show Page Setup Window WebBrowser1. ExecWB OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT End Sub Private Sub Form_Load ( ) WebBrowser1. Navigate "www.google.com" End Sub Public Function Enable_or_Disable ( ) If WebBrowser1. QueryStatusWB ( OLECMDID_PRINT ) = 0 Then Command1. Enabled = False Else Command1. Enabled = True End If If WebBrowser1. QueryStatusWB ( OLECMDID_PRINTPREVIEW ) = 0 Then Command2. Enabled = False Else Command2. Enabled = True End If If WebBrowser1. QueryStatusWB ( OLECMDID_PAGESETUP ) = 0 Then Command3. Enabled = False Else Command3. Enabled = True End If End Function Private Sub WebBrowser1_BeforeNavigate2 ( ByVal pDisp As Object, URL As Variant, _ Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean ) Enable_or_Disable End Sub Private Sub WebBrowser1_DocumentComplete ( ByVal pDisp As Object, URL As Variant ) Enable_or_Disable End Sub

Removing Right Click Menu From the browser control


First you need to go to http://support.microsoft.com/kb/q183235/ and download the WBCustomizer.dll. once done go to the"Project Menu" and click on "Refrences" Click on browse and add the 'WBCustomizer.dll' to you app. once done just add this simple code.
Option Explicit Dim CustomWB As WBCustomizer 'Deceler the CustomWB Private Sub Form_Load ( ) Set CustomWB = New WBCustomizer With CustomWB . EnableContextMenus = False 'Disable The Menu . EnableAllAccelerators = True Set . WebBrowser = WebBrowser1 End With WebBrowser1. Navigate "www.google.com" CustomWB. EnableContextMenus = False End Sub

Custom Right Click Menu


Add the Reference "Microsoft HTML Object Library". Make custom menu using the menu editor( named mnu"). Note it will effects all the context menus in the webbrowser.
'Must Add Microsoft HTML Object Library Option Explicit Public WithEvents HTML As HTMLDocument Private Function HTML_oncontextmenu() As Boolean HTML_oncontextmenu = False PopupMenu mnu '<---Check the mnu to your own menu name End Function Private Sub Form_Load() WebBrowser1.Navigate "www.google.com" End Sub Private Sub Form_Unload(Cancel As Integer) Set HTML = Nothing End Sub Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) Set HTML = WebBrowser1.Document End Sub

Grab all links on the page


This code shows how to grab and list all the links on a page. Add the Reference "Microsoft HTML Object Library"
Option Explicit Private Sub Form_Load() WebBrowser1.Navigate "www.vbforums.com" End Sub Private Sub WebBrowser1_DownloadComplete() 'you must add the "Microsoft HTML Object Library"!!!!!!!!! Dim HTMLdoc As HTMLDocument Dim HTMLlinks As HTMLAnchorElement Dim STRtxt As String ' List the links. On Error Resume Next Set HTMLdoc = WebBrowser1.Document For Each HTMLlinks In HTMLdoc.links STRtxt = STRtxt & HTMLlinks.href & vbCrLf Next HTMLlinks Text1.Text = STRtxt End Sub

You can add this code in order to log this files.


Open "C:\Documents and Settings\[YOU USERNAME]\Desktop\link log.txt" For Append As #1 Print #1, STRtxt Close #1

Save Page
This code shows you how to save the browser's page.
Option Explicit Private Sub Command1_Click() WebBrowser1.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT End Sub Private Sub Form_Load() WebBrowser1.Navigate2 "www.google.com" End Sub

Open Page
Here is how to load a webpage into the webbrowser.
Private Sub Command2_Click() WebBrowser1.ExecWB OLECMDID_OPEN, OLECMDEXECOPT_PROMPTUSER End Sub

This is how to open a page, using the comman dialog's way


Option Explicit Private Sub Command1_Click() On Error Resume Next With CommonDialog1 .DialogTitle = "Open File" .Filter = "Web page (*.htm;*.html) | *.htm;*.html|" & _ "All Supported Picture formats|*.gif;*.tif;*.pcd;*.jpg;*.wmf;" & _ "*.tga;*.jpeg;*.ras;*.png;*.eps;*.bmp;*.pcx|" & _ "Text formats (*.txt;*.doc)|*.txt;*.doc|" & _ "All files (*.*)|*.*|" .ShowOpen .Flags = 5 WebBrowser1.Navigate2 .FileName End With End Sub Private Sub Form_Load() WebBrowser1.Navigate2 "www.google.com" End Sub

Auto Submit
This code will autofill the need filled and submit it.
Private Sub Command1_Click() Dim strwebsite As String Dim stremail As String strwebsite = "http://www.mysite.com" stremail = "myemail@host.com" WebBrowser1.Document.addurl.URL.Value = strwebsite WebBrowser1.Document.addurl.Email.Value = stremail WebBrowser1.Document.addurl.Submit End Sub Private Sub Form_Load() WebBrowser1.Navigate "http://www.scrubtheweb.com/addurl.html" End Sub

Using A ProgressBar With The Webbrowser


Private Sub Form_Load() WebBrowser1.Navigate "www.msn.com" ProgressBar1.Appearance = ccFlat ProgressBar1.Scrolling = ccScrollingSmooth End Sub Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long) On Error Resume Next If Progress = -1 Then ProgressBar1.Value = 100 Me.Caption = "100%" If Progress > 0 And ProgressMax > 0 Then ProgressBar1.Value = Progress * 100 / ProgressMax Me.Caption = Int(Progress * 100 / ProgressMax) & "%" End If Exit Sub End Sub

Setting a Control in a Webbrowser to focus


This shows how to set a control inside the webbrowser into focus.
Private Sub Command1_Click() WebBrowser1.Document.All("q").focus 'Set the search text filed in focus End Sub Private Sub Command2_Click() WebBrowser1.Document.All("btnI").focus 'Set the google "I Am feeling lucky in focus button" End Sub Private Sub Form_Load() WebBrowser1.Navigate "http://www.google.com/" End Sub

Or you can use:


WebBrowser1.Document.getElementById("Object's Name").Focus

Checkbox in a page, how to control it


This is an example on how to check or uncheck the remember me checkbox on the google login page:
Private Sub Form_Load() WebBrowser1.Navigate "https://www.google.com/accounts/ManageAccount" End Sub Private Sub Check1_Click() If Check1.Value = 0 Then WebBrowser1.Document.All.PersistentCookie.Checked = False 'unchecked Else WebBrowser1.Document.All.PersistentCookie.Checked = True 'checked End If End Sub

Or
Private Sub Form_Load() WebBrowser1.Navigate "https://www.google.com/accounts/ManageAccount" End Sub Private Sub Check1_Click() If Check1.Value = 0 Then WebBrowser1.Document.All.PersistentCookie.Checked = 0 'unchecked Else WebBrowser1.Document.All.PersistentCookie.Checked = 1 'checked End If End Sub

Or
Private Sub Form_Load() WebBrowser1.Navigate "https://www.google.com/accounts/ManageAccount" End Sub Private Sub Check1_Click() If Check1.Value = 0 Then WebBrowser1.Document.getElementById("PersistentCookie").Checked = False 'unchecked Else WebBrowser1.Document.getElementById("PersistentCookie").Checked = True 'checked End If End Sub

You might also like