VBScript includes all the keywords and features that you need to activate a Web
page. You can’t read or write files, as you’ll learn later in this appendix, but
you can handle any event that an object fires. You can also handle just about any
type of data that you’ll find on a Web page and manipulate the Web page in anyway
you want.
Table C.1 describes each keyword or feature available in VBScript. I’ve divided
this table into broad categories, with each entry under a category describing a single
feature. I’ve used the same categories that Microsoft uses so that you can keep this
information straight as you bounce back and forth between Microsoft’s Web site and
this book. If you don’t find a feature that you expect to see, check out Table C.2
to see if that feature is in the list of Visual Basic features omitted from VBScript.
You can find more information about VBScript’s features at Microsoft’s VBScript
Web site: http://www.microsoft.com/vbscript.
Table C.1 VBScript Keywords
Keyword/Feature | Description |
Array handling | |
IsArray | Returns True if a variable is an array |
Erase | Reinitilizes a fixed-size array |
LBound | Returns the lower bound of an array |
UBound | Returns the upper bound of an array |
Assignments | |
= | Assigns a value to a variable |
Let | Assigns a value to a variable |
Set | Assigns an object to a variable |
Comments | |
` | Includes inline comments in your script |
Rem | Includes comments in your script |
Constants/Literals | |
Empty | Indicates an uninitialized variable |
Nothing | Disassociates a variable with an object |
Null | Indicates a variable with no data |
True | Boolean True |
False | Boolean False |
Control flow | |
Do…Loop | Repeats a block of statements |
For…Next | Repeats a block of statements |
For Each…Next | Repeats a block of statements |
If…Then…Else | Conditionally executes statements |
Select Case | Conditionally executes statements |
While…Wend | Repeats a block of statements |
Conversions | |
Abs | Returns absolute value of a number |
Asc | Returns the ASCII code of a character |
AscB | Returns the ASCII code of a character |
AscW | Returns the ASCII code of a character |
Chr | Returns a character from an ASCII code |
ChrB | Returns a character from an ASCII code |
ChrW | Returns a character from an ASCII code |
CBool | Converts a variant to a boolean |
CByte | Converts a variant to a byte |
CDate | Converts a variant to a date |
CDbl | Converts a variant to a double |
Cint | Converts a variant to an integer |
CLng | Converts a variant to a long |
CSng | Converts a variant to a single |
CStr | Converts a variant to a string |
DateSerial | Converts a variant to a date |
DateValue | Converts a variant to a date |
Hex | Converts a variant to a hex string |
Oct | Converts a variant to an octal string |
Fix | Converts a variant to a fixed string |
Int | Converts a variant to an integer string |
Sgn | Converts a variant to a single string |
TimeSerial | Converts a variant to a time |
TimeValue | Converts a variant to a time |
Dates/Times | |
Date | Returns the current date |
Time | Returns the current time |
DateSerial | Returns a date from its parts |
DateValue | Returns a date from its value |
Day | Returns day from a date |
Month | Returns month from a date |
Weekday | Returns weekday from a date |
Year | Returns year from a date |
Hour | Returns hour from a time |
Minute | Returns minute from a time |
Second | Returns seconds from a time |
Now | Returns current date and time |
TimeSerial | Returns a time from its parts |
TimeValue | Returns a time from its value |
Declarations | |
Dim | Declares a variable |
Private | Declares script-level private variable |
Public | Declares public-level public variable |
ReDim | Reallocates an array |
Function | Declares a function |
Sub | Declares a subprocedure |
Error Handling | |
On Error | Enables error handling |
Err | Contains information about last error |
Input/Output | |
InputBox | Prompts the user for input |
MsgBox | Displays a message to the user |
Math | |
Atn | Returns the Arctangent of a number |
Cos | Returns the cosine of a number |
Sin | Returns the sine of a number |
Tan | Returns the tangent of a number |
Exp | Returns the exponent of a number |
Log | Returns the logarithm of a number |
Sqr | Returns the square root of a number |
Randomize | Reseeds the randomizer |
Rnd | Returns a random number |
Operators | |
+ | Addition |
– | Subtraction |
^ | Exponentiation |
Mod | Modulus arithmetic |
* | Multiplication |
/ | Division |
Integer Division | |
– | Negation |
& | String concatenation |
= | Equality |
<> | Inequality |
< | Less Than |
<= | Less Than or Equal To |
> | Greater Than |
>= | Greater Than or Equal To |
Is | Compares expressions |
And | Compares expressions |
Or | Compares expressions |
Xor | Compares expressions |
Eqv | Compares expressions |
Imp | Compares expressions |
Objects | |
CreateObject | Creates reference to an OLE object |
IsObject | Returns True if object is valid |
Options | |
Option Explicit | Forces explicit variable declaration |
Procedures | |
Call | Invokes a subprocedure |
Function | Declares a function |
Sub | Declares a subprocedure |
Strings | |
Instr | Returns index of a string in another |
InStrB | Returns index of a string in another |
Len | Returns the length of a string |
LenB | Returns the length of a string |
Lcase | Converts a string to lowercase |
Ucase | Converts a string to uppercase |
Left | Returns the left portion of a string |
LeftB | Returns the left portion of a string |
Mid | Returns the mid portion of a string |
MidB | Returns the mid portion of a string |
Right | Returns the right portion of a string |
RightB | Returns the right portion of a string |
Space | Pads a string with spaces |
StrComp | Compares two strings |
String | Pads a string with a character |
Ltrim | Removes leading spaces from a string |
Rtrim | Removes trailing spaces from a string |
Trim | Removes leading and trailing spaces |
Variants | |
IsArray | Returns True if variable is an array |
IsDate | Returns True if variable is a date |
IsEmpty | Returns True if variable is empty |
IsNull | Returns True if variable is null. |
IsNumeric | Returns True if variable is a number |
IsObject | Returns True if variable is an object |
VarType | Indicates a variable’s type |
Visual Basic Keywords Omitted from VBScript
VBScript leaves out a bunch of Visual Basic keywords such as DoEvents,
Print, and Shell. You can’t read or write files, either, and you
can’t do much graphical programming. This won’t stop you from creating great Web
pages with VBScript, though, because VBScript provides every feature you need to
do just about anything you want on the Web page. For example, you can dynamically
change the contents of the Web page itself and you can interact with every object
on the Web page.
Don’t look at the list of omitted keywords and features yet. You need to understand
why Microsoft didn’t include them so that you’ll understand why each feature is on
this list. Take a look:
- Portability Microsoft intends to make VBScript available on a variety
of platforms including Windows, Mac, UNIX, and so on. They’ve wisely removed keywords
and features that make VBScript less portable to these platforms.
- Performance You’ve heard it before: speed or features–pick one. Microsoft
removed many nonessential features from VBScript so scripts load and run faster.
- Safety You should be concerned with security on the Internet. You
don’t want to open a Web page and discover that it contains a script which crashes
your drive, do you? Microsoft removed any Visual Basic feature that might cause a
security problem with scripts such as file I/O. You can still get access to these
features, however, if you create an ActiveX object which you control with VBScript.
Table C.1 describes each keyword or feature available in Visual Basic but omitted
from VBScript. I’ve divided this table into broad categories, with each entry under
a category describing a single feature. I’ve used Microsoft’s categories so that
you can keep the list on Microsoft’s Web site in sync with this list.
NOTE: The Internet Explorer Script Error dialog box tells you that it found
a statement in your script which couldn’t interpret. I’m sure that you’ve seen error
messages such as "Expected while or until" or nested comments that just
don’t make any sense. When VBScript encounters a keyword it doesn’t recognize, it
spews out all sorts of garbage like the previous example. It usually points to the
offending keyword, however, by placing a caret (^) directly underneath it. The next
time you get one of these unexplained errors, look up the keyword in Table C.2 to
see if Microsoft omitted it from VBScript.
- Key Differences Between VB and VBScript
- Visual Basic Keywords Included in VBScript
- Visual Basic Keywords Omitted from VBScript
© Copyright Macmillan Computer Publishing. All
rights reserved.