Home > Articles > Home & Office Computing > Microsoft Windows Vista & Home Server

  • Print
  • + Share This
This chapter is from the book

This chapter is from the book

Example: Scripting Internet Explorer

To give you a taste of the power and flexibility of scripting—particularly Automation programming—I'll close this chapter by showing you how to program a specific Automation server: Internet Explorer. You'll see that your scripts can control just about everything associated with Internet Explorer:

  • The position and dimensions of the window
  • Whether the menu bar, toolbar, and status bar are displayed
  • The current URL
  • Sending the browser backward and forward between navigated URLs

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 12.10 shows a sample script.

Example 12.10. 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.

  • + Share This
  • 🔖 Save To Your Account