You are on page 1of 23

VBScript

Session 1

Dani Vainstein 1
Subjets for Session 1
Vbscript fundamentals.
Variant subtypes.
Variables.
Option Explicit statement.
Keywords.
Scope and liftime of variables.
Dim, Private and Public statements.
Rem statement.

Dani Vainstein 2
What is VBScript?
A Safe subset of visual basic
The VBScript Code is case Insensitive.
Microsoft Visual Basic Scripting Edition brings
active scripting to a wide variety of environments,
including Web client scripting in Microsoft Internet
Explorer and Web server scripting in Microsoft
Internet Information Service (IIS).

Dani Vainstein 3
Microsoft® Script Timeline

Version Version Version Version Version Version


1.0 2.0 3.0 3.1 4.0 5.0

Internet IIS 2 Internet Windows Visual


Explorer 3.0 Internet
12/96 Explorer 4.0 98 Studio 6 Explorer 5.0
8/96 8/97 Win NT 5.0

Note: QuickTest uses VBScript 5.6

Dani Vainstein 4
Scripting for Specific Platforms

VBScript
designed to run on multiple platforms that use the
ActiveX Scripting Interface.
VBA (VB for Applications)
More sophisticated customization.
Power user focus, natural upgrade, superb integration
Visual Basic
Best tool for distributed client/Server solutions.
Powerful, robust, scalable.

Dani Vainstein 5
VBScript Data Types

VBScript has only one data type called a Variant.


A Variant is a special kind of data type that can
contain different kinds of information, depending on
how it is used.
Because Variant is the only data type in VBScript,
it is also the data type returned by all functions in
VBScript.
At its simplest, a Variant can contain either
numeric or string information.
A Variant behaves as a number when you use it in
a numeric context and as a string when you use it
in a string context.

Dani Vainstein 6
VBScript Data Types
Variant Subtypes

Beyond the simple numeric or string classifications, a


Variant can make further distinctions about the
specific nature of numeric information.
For example, you can have numeric information that
represents a date or a time.
When used with other date or time data, the result is
always expressed as a date or a time.
You can also have a rich variety of numeric
information ranging in size from Boolean values to
huge floating-point numbers.

Dani Vainstein 7
VBScript Data Types
Variant Subtypes
Description Subtype

Variant is uninitialized. Value is 0 for numeric variables or a zero-length string ("") for string variables. Empty

Variant intentionally contains no valid data. Null

Contains either True or False. Boolean

Contains integer in the range 0 to 255. Byte

Contains integer in the range -32,768 to 32,767. Integer

-922,337,203,685,477.5808 to 922,337,203,685,477.5807. Currency

Contains integer in the range -2,147,483,648 to 2,147,483,647. Long

Contains a single-precision, floating-point number in the range -3.402823E38 to -1.401298E-45 for Single
negative values; 1.401298E-45 to 3.402823E38 for positive values.

Contains a double-precision, floating-point number in the range -1.79769313486232E308 to - Double


4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308
for positive values.

Contains a number that represents a date between January 1, 100 to December 31, 9999. Date

Contains a variable-length string that can be up to approximately 2 billion characters in length. String

Contains an object. Object

Contains an error number. Error

Dani Vainstein 8
Variables
A variable is a convenient placeholder that refers to
a computer memory location where you can store
program information that may change during the
time your script is running.
For example, you might create a variable called
ClickCount to store the number of times a user
clicks an object on a particular Web page.
you only have to refer to a variable by his name to
see or change its value.

Dani Vainstein 9
Declaring Variables

You declare variables explicitly in your script using the


Dim statement, the Public statement, and the Private
statement. For example:

Dim DegreesFahrenheit

You declare multiple variables by separating each


variable name with a comma. For example:

Dim Top, Bottom, Left, Right

Dani Vainstein 10
Declaring Variables

You can also declare a variable implicitly by


simply using its name in your script.
That is not generally a good practice because
you could misspell the variable name in one
or more places, causing unexpected results
when your script is run.
For that reason, the Option Explicit
statement is available to require explicit
declaration of all variables.

Dani Vainstein 11
Option Explicit Statement

Forces explicit declaration of all variables in a script.


If used, the Option Explicit statement must appear
in a script before any other statements.
When you use the Option Explicit statement, you
must explicitly declare all variables using the Dim,
Private, Public, or ReDim statements. If you
attempt to use an undeclared variable name, an
error occurs.
Tip   Use Option Explicit to avoid incorrectly typing
the name of an existing variable or to avoid
confusion in code where the scope of the variable is
not clear.

Dani Vainstein 12
Naming Restrictions

Must begin with an alphabetic character.


Cannot contain an embedded period.
Must not exceed 255 characters.
Must be unique in the scope in which it is
declared.

Tip   meaningfull prefix to variables to indicate the


subtypes i.e
iCounter (integer), strName (String), bFlag
(Boolean), dteToday (Date)

Dani Vainstein 13
VBScript Keywords
Empty
The Empty keyword is used to indicate an uninitialized variable
value.
Null
The Null keyword is used to indicate that a variable contains no
valid data.
True
The True keyword has a value equal to -1.
False
The False keyword has a value equal to 0.
Nothing
The Nothing keyword in VBScript is used to disassociate an object
variable from any actual object.

Dani Vainstein 14
Scopes and Lifetimes

A variable's scope is determined by where you declare it.


When you declare a variable within a procedure, only code within that
procedure can access or change the value of that variable.
If you declare a variable outside a procedure, you make it recognizable to
all the procedures in your script.
The lifetime of a variable depends on how long it exists.
The lifetime of a script-level variable extends from the time it is declared
until the time the script is finished running.
At procedure level, a variable exists only as long as you are in the
procedure.
ou can have local variables of the same name in several different
procedures because each is recognized only by the procedure in which it is
declared.

Dani Vainstein 15
Dim Statement

Dim varname[([subscripts])][, varname[([subscripts])]] . . .

Declares variables and allocates storage space.


Variables declared with Dim at the script level are available to all
procedures within the script.
At the procedure level, variables are available only within the
procedure.
You can also use the Dim statement with empty parentheses to
declare a dynamic array.
Note   When you use the Dim statement in a procedure, you generally
put the Dim statement at the beginning of the procedure.

Dani Vainstein 16
Private Statement
Private varname[([subscripts])][, varname[([subscripts])]] . . .

Declares private variables and allocates storage space.


Private statement variables are available only to the script in which
they are declared.
The following example illustrates use of the Private statement:

Private MyNumber ‘--- Private Variant variable.


Private MyArray(9) ‘--- Private array variable.
‘--- Multiple Private declarations of Variant variables.
Private MyNumber, MyVar, YourNumber

Dani Vainstein 17
Public Statement

Public varname[([subscripts])][, varname[([subscripts])]] . . .

Declares public variables and allocates storage space.


Public statement variables are available to all procedures in
all scripts.
You can also use the Public statement with empty
parentheses to declare a dynamic array.

Public MyNumber ‘--- Public Variant variable.


Public MyArray(9) ‘--- Public array variable.
‘--- Multiple Public declarations of Variant variables.
Public MyNumber, MyVar, YourNumber

Dani Vainstein 18
Rem Statement
Includes explanatory remarks in a program.
Rem Comment
‘ Comment
As shown in the syntax section, you can use an apostrophe (')
instead of the Rem keyword.
If the Rem keyword follows other statements on a line, it must be
separated from the statements by a colon.
However, when you use an apostrophe, the colon is not required
after other statements.

.MyStr1 = "Hello" : Rem Comment after a statement separated by a colon


.MyStr2 = "Goodbye" ' This is also a comment; no colon is needed
.Rem Comment on a line with no code; no colon is needed

Dani Vainstein 19
Assigning Values to Variables

Values are assigned to variables creating an


expression as follows:
the variable is on the left side of the expression and the
value you want to assign to the variable is on the right.
For Example :

B = 200

Dani Vainstein 20
Lab 1.1

Dani Vainstein 21
Lab 1.1

Write a small program


Declare using Dim 2 variables (a,b)
Initialize the variables using a=“10” and b=“5”
Apply the sum to variable c.
Report to QTP the sum of the variables.
Use remarks.
Tip : Conversion
Now declare in the header Option Explicit

Dani Vainstein 22
Make sure to visit us

Tutorials
Articles
Projects
And much more

www.AdvancedQTP.com

23

You might also like