Introduction to VBScript
The Visual Basic language comes in several flavors besides the "traditional" standalone development tool it has always been. One of those flavors is Visual Basic for Applications (VBA). Another flavor, not to be confused with VBA, is the Visual Basic scripting language, or VBScript. Descriptions of all three appear in Table 30.1.
Table 30.1
VB Versus VBA Versus VBScript
Language |
Description |
Visual Basic |
Standalone development environment that allows you to compile executable files, ActiveX Controls, and DLLs. |
VBA |
The version of Visual Basic designed to be used within an application, such as Excel, Access, or Visio. Starting with Microsoft Office 97, VBA and VB share the same IDE. |
VBScript |
Small subset of the VB language interpreted by Internet Explorer, Internet Information Server, Microsoft Outlook, and the Windows Scripting Host. |
The VBScript language itself does not have anywhere near the power of VB or VBA, nor does it have its own development environment. These limitations are by design, however. The strength of VBScript is not in the language itself, but in how and where it can be used, such as the following:
-
Web pages. Client-side VBScript code can be embedded in standard HTML, allowing Web pages to contain application-like functionality.
-
Active Server Pages. Server-side VBScript code can be used in Active Server Pages, allowing Web pages to be generated and altered before returning content to a browser.
-
The Windows Scripting Host. Visual Basic script code can be run from the DOS command line like a batch file, allowing you to automate certain tasks.
Enhancing the Internet with VBScript
VBScript was first introduced for use with the Internet. The Internet itself is a physical network of computers. However, when most people think of the Internet, they do not think about the network but about specific applications used with it. The following are some examples of these applications:
-
World Wide Web. Interactive documents viewed in a Web browser. They can contain news, information, and programs to download to your computer.
-
E-mail. Electronic mail, used to send messages to a specific individual.
-
Newsgroups. Bulletin-board style discussion groups in which you can post questions and answers about a wide variety of topics.
-
Chat. Live communication with others connected to the Internet in the form of typed messages, audio, or video.
-
File Transfer and Terminal Access. Transfer of files (FTP) and remote access (Telnet) to a computer.
By far, the most popular use of the Internet is the World Wide Web. The idea for the World Wide Web come from Tim Berners-Lee as a way to aid his memory by inserting links into his documents. He eventually proposed a "global hypertext space" that would lead to today's web of millions of linked documents. A link not only provides a reference to a supporting document; it also allows the reader to "jump" directly to the supporting document—:hence, the term hyperlink. The hyperlinked documents form a "web" of information accessible to everyone on the Internet.
VBScript on the Web Server
You probably know from experience that the Web of today has evolved quite a bit from just a series of linked documents. Web sites contain rich multimedia elements and database-driven content, and can behave almost like standard applications. Arguably the most powerful improvements to the Web have been added to the Web server.
The Web server is the computer that delivers the requested Web pages to the browser. The concept of requesting a Web page is key to understanding what a Web server does. Many people make the mistake of thinking of Web pages as documents stored on file servers; this is not how the system works! The role of the Web server is pictured in Figure 30.1.
The Web server sends an HTML stream back to the browser in response to a request for a Web page.
To further illustrate the difference, consider the real-world example of researching William Shakespeare at your local library. Upon entering the library, you can just go to the Shakespeare section and pick up a book, or you can ask the librarian to help you.
If you go get a book yourself, the library is acting like a file server in that you are simply accessing a file (book) stored in it. On the other hand, if you request that the librarian help you, he or she will use his or her own expertise by asking questions and offering suggestions. In this case, the librarian is acting like a Web server because he or she is controlling your access to the files (books).
NOTE
The method by which browsers and Web servers talk to each other is known as the Hypertext Transfer Protocol, or HTTP.
Because all requests go through the Web server, the Web server can modify the information returned to the browser however it sees fit. One typical example is including database information in a Web page. This can be accomplished by executing a program on the server that handles database access and returns information in a format that the browser can understand. The way that Microsoft provides this technology to VB programmers is known as Active Server Pages. ASP is illustrated in Figure 30.2.
Active Server Pages are HTML with script code that is executed on the server before the user sees the results.
ASP is an exciting and powerful Web technology, so much so that it has its own chapter in this book: Chapter 31, "Active Server Pages."
VBScript in the Browser
In addition to using VBScript on the Web server, VBScript code can be executed on the user's desktop. To understand how this works, you have to know a little about the language in which Web pages are written: HTML.
HTML, which stands for Hypertext Markup Language, consists of some formatting codes that allow an author to create hyperlinks and format the document. The HTML language is fairly easy to understand, even for newcomers, as illustrated in the following example:
<FONT SIZE = "+2"> This is a sample web Page! </FONT> <BR> <B> I hope you enjoy it! </B> <BR><BR> The following is a hyperlink: <A HREF = "http://www.que.com"> Click me! </A>
HTML includes both the document text and formatting codes. A special viewer, known as a browser, interprets the formatting codes and displays the Web page. A browser displaying the preceding lines of HTML is shown in Figure 30.3.
If you used a personal computer in the last year or two, you certainly encountered a Web browser.
A good VB programmer should have no trouble picking up HTML basics. The preceding example uses several formatting codes, or HTML tags. Most HTML elements have a starting point and an ending point, indicated by corresponding tags. For example, the <B> and </B> tags tell the browser that the text between them should be displayed in boldface format.
TIP
Learn more about HTML by viewing the HTML code behind your favorite Web pages. To do so in Internet Explorer, right-click in an empty area of the page and choose View Source.
Many books and online references are available to help you learn more about HTML. For the purposes of this chapter, Table 30.2 lists some commonly used HTML elements.
Table 30.2
Common HTML Tags
Tag |
Description |
<HR> |
Horizontal separator bar |
<BR> |
Line break |
<B> and </B> |
Boldface |
<I> and </I> |
Italics |
<U> and </U> |
Underline |
<CENTER> and </CENTER> |
Centers text |
<A HREF=url> linktext </A> |
Inserts a hyperlink (or "anchor") |
<IMG SRC=imagefile ALT=tooltip text> |
Inserts a GIF or JPEG image |
<HTML> and </HTML> |
Denotes start and end of a document |
<HEAD> and </HEAD> |
Start and end of document header |
<TITLE> and </TITLE> |
Page title located in the header |
<BODY> and </BODY> |
Denotes start and end of the body |
<TABLE> and </TABLE> |
Denotes start and end of a table |
<TR> and </TR> |
Indicates a row within the <TABLE> tag |
<TD> and </TD> |
Indicates a column within the <TR> tag |
<FORM action=url method=method name=name> |
Denotes start and end of a and </FORM> form |
<INPUT type=type value=value name=name> |
Form Input element |
<FONT> and </FONT> |
Controls many aspects of the current font, including typeface and size |
NOTE
Internet Explorer 4.0 also includes support for DHTML, or dynamic HTML, which makes Web pages even more programmable by providing programmatic access to HTML tags.
The HTML codes listed in Table 30.2 are a small fraction of those available for use. In addition, codes can be nested in different ways to produce different results. Although HTML can do a lot of interesting things by itself, it lacks the power of a programming language. Other than jumping from one document to another and submitting forms, there are no real actions that you can take with standard HTML. However, you can script code to HTML to make Web pages a little more functional. Scripting languages such as VBScript and JScript are embedded in HTML and indicated by a special <SCRIPT> tag. The following example uses VBScript to display a message box:
<SCRIPT Language = "VBScript"> <!-- Dim nAnswer nAnswer = MsgBox ("Would you like to visit my site?" ,vbYesNo,"Hello!") If nAnswer = vbNo Then MsgBox "Well, then I will send you somewhere else!" Window.Location = "http://www.nowhere.com" end if --> </SCRIPT> <FONT SIZE = "+2"> This is a sample web Page! </FONT> <BR> <B> I hope you enjoy it! </B> <BR><BR> The following is a hyperlink: <A HREF = "http://www.que.com"> Click me! </A>
The preceding HTML example contains a section of VBScript code added at the beginning. When the browser begins to parse the HTML in the Web page, it encounters the VBScript code and executes it. You will learn more details about using VBScript in your pages later in the chapter.