Displaying
a Web Page
To get started, I’ll show you how to use the InternetExplorer object to display a specified URL. You use the Navigate method to do this, and this method uses the
following syntax:
InternetExplorer.Navigate URL [, Flags,] [ TargetFramename] [, PostData] [ ,Headers]
InternetExplorer | A reference
to the InternetExplorer object with which you’re working. |
URL | The address
of the web page you want to display. |
Flags | One of (or the sum of two or more of) the following integers
that control various aspects of the navigation: |
| 1 | Opens the URL in a new window |
| 2 | Prevents the URL from being added to the history
list |
| 4 | Prevents
the browser from reading the page from the disk cache |
| 8 | Prevents the URL from being added to the disk
cache |
TargetFrameName | The name of the frame in which to display the URL. |
PostData | Specifies
additional POST information that HTTP
requires to resolve the hyperlink. The most common uses for this
argument are to send a web server the contents of a form, the
coordinates of an imagemap, or a search parameter for an ASP file. If
you leave this argument blank, this method issues a GET call. |
Headers | Specifies
header data for the HTTP header. |
Here’s an example:
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "http://www.microsoft.com/"
Navigating Pages
Displaying a specified
web page isn’t the only thing the InternetExplorer object can do. It also has quite a few methods that
give you the ability to navigate backward and forward through visited
web pages, refresh the current page, stop the current download, and
more. Here’s a summary of these methods:
GoBack | Navigates backward to a previously visited page |
GoForward | Navigates forward to a previously visited
page |
GoHome | Navigates to Internet Explorer’s default Home page |
GoSearch | Navigates to
Internet Explorer’s default Search page |
Refresh | Refreshes the
current page |
Refresh2 | Refreshes the current page using the following
syntax:Refresh2(Level) |
| Level | | A constant that
determines how the page is refreshed: |
| 0 | Refreshes the
page with a cached copy |
| 1 | Refreshes the page with a
cached copy only if the page has expired |
| 3 | Performs a full refresh (doesn’t use a cached
copy) |
Stop | Cancels the current download or shuts down
dynamic page objects, such as background sounds and animations. |
Using the InternetExplorer
Object’s Properties
Here’s a summary of many
of the properties associated with the InternetExplorer object:
Busy | Returns True if
the InternetExplorer object is in the
process of downloading text or graphics. This property returns False when a download of the complete document has
finished. |
FullScreen | A Boolean value
that toggles Internet Explorer between the normal window and a
full-screen window in which the title bar, menu bar, toolbar, and status
bar are hidden. |
Height | Returns or sets the window
height. |
Left | Returns
or sets the position of the left edge of the window. |
LocationName | Returns the title of the
current document. |
LocationURL | Returns the URL of the current document. |
MenuBar | A
Boolean value that toggles the menu bar on and off. |
StatusBar | A
Boolean value that toggles the status bar on and off. |
StatusText | Returns
or sets the status bar text. |
ToolBar | A Boolean value that
toggles the toolbar on and off. |
Top | Returns or sets the
position of the top edge of the window. |
Type | Returns
the type of document currently loaded in the browser. |
Visible | A
Boolean value that toggles the object between hidden and visible. |
Width | Returns
or sets the window width. |
Running Through a Sample
Script
To
put some of the properties and methods into practice, Listing 1 shows a
sample script.
Listing 1. A Script That Puts the InternetExplorer
Object Through Its Paces
Option Explicit Dim objIE, objWshShell, strMessage, intResult
' Set up the Automation objects Set objIE = WScript.CreateObject("InternetExplorer.Application") Set objWshShell = WScript.CreateObject("WScript.Shell")
' Navigate to a page and customize the browser window objIE.Navigate "http://www.wordspy.com/" objIE.Toolbar = False objIE.StatusBar = False objIE.MenuBar = False
' Twiddle thumbs while the page loads Do While objIE.Busy Loop
' Get the page info strMessage = "Current URL: " & objIE.LocationURL & vbCrLf & _ "Current Title: " & objIE.LocationName & vbCrLf & _ "Document Type: " & objIE.Type & vbCrLf & vbCrLf & _ "Would you like to view this document?"
' Display the info intResult = objWshShell.Popup(strMessage, , "Scripting IE", vbYesNo + vbQuestion)
' Check the result If intResult = vbYes Then
' If Yes, make browser visible objIE.Visible = True Else
' If no, bail out objIE.Quit End If Set objIE = Nothing Set objWshShell = Nothing
|
The script begins by
creating instances of the InternetExplorer and WScript Shell
objects. The Navigate method displays a
page, and then turns off the toolbar, status bar, and menu bar. A Do...Loop
checks the Busy property and loops while it’s True. In other words, this loop won’t exit until the
page is fully loaded. A string variable is used to store the URL, the
title, and type of the page, and this string is then displayed in a Popup box, which also asks whether the user wants to see
the page. If the user clicks the Yes button, the browser is made
visible; if the user clicks the No button, the Quit method
shuts down the browser.