Since the Internet Explorer supports Automation, you can access its functionality from Visual Basic. You can make the objects in the Internet Explorer available to Visual Basic 4.0 through the References dialog box. The References dialog box lists all the objects available to Visual Basic. You access the dialog box by selecting Tools/References from the menu bar. Figure 3-5 shows the References dialog box with a reference set to the Internet Explorer object library. The proper reference is described in the dialog box as "Microsoft Internet Controls."
Once a reference is set in Visual Basic, you can exploit the objects in code. For example, to get an instance of the Internet Explorer browser that can be accessed from Visual Basic, you could use the following code:
Dim MyBrowser As SHDocVw.InternetExplorer
Set MyBrowser = New SHDocVw.InternetExplorer
The first line of this code is a variable declaration, and the second line creates an instance of the Internet Explorer. The syntax SHDocVw.InternetExplorer refers to the name of the server, SHDocVw, and the type of object that you want to create, Internet Explorer. SHDocVw itself is actually a server that contains more than just the Internet Explorer objects. This server defines constants and events as well. You can use all of these from Visual Basic to make any Visual Basic application Internet-enabled.
Figure 3-5.
The References dialog box in Visual Basic.
Once you have an instance of the Internet Explorer, you can manipulate it through properties and methods. For example, if you want the browser to appear and navigate to the New Technology Solutions, Inc., web site, you could use the following code:
MyBrowser.Visible = True
MyBrowser.Navigate "http://www.vb-bootcamp.com"
You can use this type of coding to add browsing capabilities to Visual Basic projects or to create utilities for the browser. Listing 3-2 shows a complete project in Visual Basic that implements a Favorites list for the Internet Explorer browser. The project uses a small Microsoft Access database to keep track of your favorite URLs. These URLs are placed in a list box, from which users can pick a specified URL and cause the browser to navigate to it. Figure 3-6, on page 51, shows an example of the Favorites list box.
`This demo implements a Favorites list for the Internet
`Explorer 3.0. The list of favorite URLs is stored
`in a Microsoft Access database.
`This demo automatically launches the Internet Explorer.
`The user can jump to a favorite URL by selecting it from
`the list and clicking on the Navigate button or just
`double-clicking on the URL.
Option Explicit
Public MyBrowser As SHDocVw.InternetExplorer
Private Sub Form_Load()
`Get an instance of Internet Explorer 3.0
Set MyBrowser = New SHDocVw.InternetExplorer
MyBrowser.Visible = True
`Fill list box with favorites
Call FillList
End Sub
Private Sub cmdNavigate_Click()
If lstFavorites.ListIndex = -1 Then Exit Sub
`Use the Navigate method to display the
`selected URL
MyBrowser.Navigate lstFavorites.List(lstFavorites.ListIndex)
End Sub
Private Sub lstFavorites_DblClick()
cmdNavigate.Value = True
End Sub
Private Sub FillList()
`Author: New Technology Solutions, Inc.
`Purpose: Fill list box from Favorites database
`6/2/96 Original
Dim dbFavorites As DAO.Database
Dim rsFavorites As DAO.Recordset
`Get favorites from database
Set dbFavorites = DBEngine.Workspaces(0) _
.OpenDatabase(App.Path & "\favorite.mdb")
Set rsFavorites = dbFavorites.OpenRecordset _
("SELECT * FROM Favorites", dbOpenSnapshot)
If rsFavorites.BOF And rsFavorites.EOF Then Exit Sub
lstFavorites.Clear
rsFavorites.MoveFirst
`Fill list box
Do While Not rsFavorites.EOF
lstFavorites.AddItem rsFavorites!URL
rsFavorites.MoveNext
Loop
rsFavorites.Close
dbFavorites.Close
Set rsFavorites = Nothing
Set dbFavorites = Nothing
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Figure 3-6.
The Favorites list box.