Tricentis Tosca 16.0 Released on Feb-2023 ----- UFT has been upgraded from UFT 15.0.1 to UFT One 15.0.2, Beginning at November 2020.

Wednesday 27 April 2016

Exiting Test or Action Execution in UFT

UFT offers several statements to exit code execution. Use this, which best suits your needs.
ExitTest – Exits test completely.
ExitTestIteration – Exits test (global) iteration and proceeds to next test iteration (if exists).
ExitAction – Exits action. In case of top-level action, execution will proceed to next test iteration (if exists). In case of called action, execution flow will return to next line of calling action.
ExitActionIteration – Exits action (local) iteration and proceeds to next action iteration (if exists and is enabled in Action Call Properties).

Following statements are obsolete, do not use them: ExitRunExitGlobalIteration.


Sunday 17 April 2016

Overview of SAP

SAP stands for “Systems, Applications and Products in data processing” and it is the fourth largest software company in the world. SAP provides end to end solutions for financials, manufacturing, logistics, distribution etc.

The SAP R/3 system is a business software package designed to integrate  all areas of a business. All business processes are executed in one SAP system and sharing common information with everyone. Each SAP module is integrated with other modules. SAP System divided in to two types of modules such as functional modules and technical modules.

Industry Solutions of SAP

What is SAP? ERP System Definition


SAP R/3 – Modules & Integration
What is SAP? ERP System Definition

SAP Functional Modules
  1. FICO – Finance & Control
  2. PP – Production Planning
  3. MM – Material Management
  4. SD – Sales & Distribution
  5. HR – Human Resources
  6. CRM – Customer Relationship Management
SAP Technical Modules

  1. ABAP – Advanced business applications programming
  2. XI – Exchange Infrastructure
  3. Net viewer
  4. Basis
  5. BIW – Business Information Warehousing
Main Functional SAP ERP Modules 
  1. FICO (Finance & Controlling) 
  2. HR (Human Resource) 
  3. PP (Production Planning) 
  4. MM (Material Management) 
  5. SD (Sales & Distribution) 
  6. PM (Plant Maintenance) 
  7. PS (Project System) 
  8. QM (Quality Management) 
  9. BIW (Business Information Warehousing) 
Business Suite
  1. CRM (Customer Relationship Management) 
  2. SCM (Supply Chain Management) 
  3. SEM (Strategic Enhanced Management) 
  4. APO (Advanced Planner Optimizer) 
  5. EP (Enterprise Portal) 
  6. SRM (Supplier Relationship Management) 
  7. XI (Exchange Infrastructure) 
Techno-Functional Modules
  1. ABAP + HR 
  2. ABAP + SD 
  3. BIW (Business Information Warehouse) 

SAP is a package with minimal customizations and the company implementing the same may have to re-orient its business processes to fall in line with SAP requirements.

Listing of each modules in SAP ERP
  1. Basis
  2. ABAP/4 Programming
  3. FI (Financial Accounting)
  4. CO (Controlling)
  5. EC (Enterprise Controlling)
  6. TR (Treasury)
  7. IM (Investment Management)
  8. HR (Human Resource)
  9. SD (Sales and Distribution)
  10. Logistics Information System
  11. MM (Materials Management)
  12. PM (Plant Maintenance)
  13. PP (Production Planning)
  14. QM (Quality Management)
  15. BW (Business Warehousing)
  16. IS (Industry Solutions) / SAP for Industries specific solutions
  17. CS (Customer Service)
  18. SMB
  19. CA (Cross Application Components)
  20. PS (Project Systems)
  21. mySAP SEM
  22. mySAP CRM (Customer Relationship Management)
  23. mySAP Product Life Cycle Management
  24. SCM (SAP Supply Chain Management)
  25. Netweaver
  26. mySAP SRM (Supplier Relationship Management)

The Enviroments for SAP ERP, Supported Hardware for SAP ERP
SAP can be installed on many system platforms. The functionality and programming technique is same for all systems.

  1. HP
  2. IBM
  3. Sun
  4. AT&T
  5. AS400
  6. Bull
  7. Sequent
  8. SNI
  9. Compaq Digital

Supported Database for SAP ERP
SAP is a back-end-free ERP system which co-operate with many database companies. That means companies have many choices.   The database is common for all modules and avoids duplication of maintaining  master records. For e.g. the customer records will be maintained in SD module like  customer code, customer type, Credit/payment terms, address etc. The same would  be used by the FI module while perusing the customer accounts or entering the receipt of payments. Similarly the sales manager can view the customer balances in the FI module for follow up with the customer. 

The following Database can be used in SAP software.The functionality / programming technique is same for all database system.

  1. Oracle
  2. MS SQL
  3. Informix
  4. Sybase
  5. Adabas D
  6. DB2 for AIX
  7. DB2/400 

Supported Operating System for SAP 
The SAP business suites can be installed on the following platforms (Operating systems):

  1. MS Windows NT
  2. OS/400
  3. Unix
  4. Solaris
  5. AIX
  6. HP UX
  7. Sinux 

Components in each SAP Modules and Sub-Modules:

1. SAP Basis Components

  1. Security (BC - SEC)
  2. Application Link Enabling (ALE)
  3. Remote Function Calls (RFC)
  4. Object Linking and Embedding (OLE)
  5. Common Program Interface Communications (CPI-C)
  6. Electronic Data Interchange (EDI)
  7. Customizing (BC-CUS)
  8. ABAP Programming and Runtime Environment (BC-ABA)
  9. Client Server Technology (BC-CST)
  10. Network Integration (BC - NET)
  11. Basis Services/ Communication Interfaces (BC - SRV)
  12. Computing Center Management System (BC - CCM)
  13. Upgrade General (BC - UPG)
  14. Change and Transport System (BC - CTS)
  15. Operating System Platform(BC - OP)
  16. Database Interface, database platforms (BC - DB)
  17. Front End Services (BC - FES)
  18. ABAP Workbench (BC - DWB)
  19. Documentation and Translation Tools (BC - DOC)
  20. Controls and Control Framework (BC - CI)
  21. Business Management (BC - BMT)
  22. Middleware (BC - MID)
  23. Computer Aided Test Tool (BC - CAT)
  24. Ready to Run R/3 (BC - BRR)
  25. Authorisations System Monitoring with CCMS Workload Alert Monitor 

2. ABAP/4 Programming

  1. ABAP Workbench
  2. Menu Painter
  3. Screen Painter
  4. Data Dictionary
  5. SAP Script
  6. Business Workflow (BC-WF)
  7. ALE
  8. EDI
  9. Business Connector
  10. Business Server Pages
  11. Internet Application Server
  12. Mercator Report Painter
  13. ALV reporting
  14. Report writer
  15. Dialog Programming
  16. Repository Information System
  17. ABAP 00
  18. IDOCS
  19. LSMW
  20. Smartforms
  21. EBP
  22. ASAP methodology
  23. ABAP Query 

3. SAP FI (Financial Accounting)

  1. General Ledger Accounting (FI - GL)
  2. Special Ledger (FI - SL)
  3. Extended Ledger
  4. Accounts Payable (FI- AP)
  5. Accounts Receivable (FI - AR)
  6. Asset Accounting (FI - AA)
  7. Bank Accounting
  8. Funds Management (FI - FM)
  9. Travel Management (FI-TM)
  10. Consolidation

4. SAP CO (Controlling)

  1. Cost Centre Accounting (CO - CCA)
  2. Overhead Cost Controlling (CO - OM)
  3. Activity Based Coding (CO - ABC)
  4. Product Cost Controlling (CO - PC)
  5. Profitability Analysis (CO - PA)
  6. Material Ledger (CO - ML) 

5. SAP EC (Enterprise Controlling)

  1. Consolidation (EC - CS)
  2. Executive Information System (EC-EIS)
  3. Profit Center Accounting (EC - PCA)
  4. Business Planning and Budgeting 

6. SAP TR (Treasury)

  1. Cash Management (TR - CM)
  2. Loans Management (TR - LM)
  3. Market Risk Management (TR - MRM)
  4. Treasury Management (TR - TM)
  5. Funds Management (TR - FM)
  6. Information System 

7. SAP IM (Investment Management)

  1. Investment Programmes
  2. Investment Measures (orders/products)
  3. Corporation Wide Budgeting
  4. Appropriation Requests
  5. Automatic Settlement of Fixed Assets
  6. Depreciation Forecast
  7. Information System 

8. SAP HR (Human Resource)

  1. Recruitment
  2. Personnel Administration
  3. Benefits Administration
  4. Compensation Management
  5. Personnel Development
  6. Organizational Management
  7. Travel Management
  8. Training and Events Management
  9. Personnel Planning
  10. Time Management
  11. Incentive
  12. Wages
  13. Workflow
  14. Payroll
  15. Internet Scenarios
  16. Information System 

9.  SAP SD (Sales and Distribution)

  1. Master Data (e.g. Pricing)
  2. Sales
  3. Sales Support
  4. Sales Information System
  5. Billing
  6. Special Business Transactions
  7. Shipping
  8. Transportation
  9. Credit Control
  10. QM in SD
  11. Internet
  12. Foreign Trade
  13. Electronic Data Interchange 

10. SAP Logistics Information System

  1. Purchasing Information System
  2. Sales Information System
  3. Inventory Controlling
  4. Retail Information System
  5. Production Planning and Control Information System
  6. Plant Maintenance Information System
  7. Project Information System 

11. SAP MM (Material Management)

  1. Purchasing
  2. Invoice Verification
  3. Logistics (General)
  4. Logistics Information System
  5. Inventory Management
  6. Inventory / Valuations
  7. Materials Planning
  8. Workflow
  9. External Services Management
  10. QM in MM
  11. WM (Warehouse Management)

12. SAP PM (Plant Maintenance)

  1. Preventative Maintenance
  2. Maintenance Order Management
  3. Maintenance Projects
  4. Service Management
  5. Maintenance Planning
  6. Equipment and Technical Objects
  7. Structuring Technical Systems
  8. PM Processing
  9. Work Clearance Management
  10. Internet Scenarios
  11. Customising
  12. Information System 

13. SAP PP (Production Planning) 
  1. Make to Order (CR)
  2. Make to Order (PIR)
  3. Repetitive Manufacturing
  4. PP for Process Industries (PP - PI)
  5. PP - Processes
  6. Sales and Operations Planning
  7. Capacity requirements
  8. Master Planning
  9. MRP (Material Requirements Planning)
  10. KANBAN
  11. Production Orders
  12. Product Cost Planning
  13. Plant Data Collection
  14. Assembly Orders
  15. Information System 

14. SAP QM (Quality Management)

  1. Planning
  2. Inspections
  3. Notifications
  4. Control
  5. Certificates
  6. Test Equipment Management
  7. QM-IS 

15. SAP BW (Business Warehousing)

  1. Data Warehousing
  2. BI Suite - Business Explorer
  3. BI Platform
  4. ODS Structures
  5. Development Technologies
  6. Info Cube
  7. Design Build 

16. SAP CS (Customer Service)

  1. Service Processing
  2. Controlling
  3. Service Contracts
  4. Workflow in Customer Service 

17. SAP SMB (Small and Mid-size Businesses)

  1. SAP SMB 

18. SAP CA (Cross Application Components)

  1. SAP Business Workflow
  2. Application Link Enabling (ALE) 

19. SAP PS (Project System)

  1. Basic Data  
  2. Operational Structures
  3. Project Planning
  4. Approval
  5. Information System
  6. Project Execution and Integration
  7. Work Breakdown Structure 

20. mySAP SRM (Supplier Relationship Management)

  1. Self Service Procurement
  2. Service Procurement
  3. Plan Driven Procurement
  4. Spend Analysis
  5. Strategic Sourcing
  6. Catalogue Content Management

21. mySAP SEM 

  1. Business Consolidation (SEM-BCS)
  2. Business Information Collection (SEM-BIC)
  3. Business Planning and Simulation (BW-BPS)
  4. Corporate Performance Monitor (SEM-CPM)
  5. Stakeholder Relationship Management (SEM-SRM) 

22. mySAP CRM (Customer Relationship Management)

  1. CRM Enterprise
  2. Field Applications
  3. Interaction Center
  4. E-Commerce
  5. Channel Management
  6. Industry Specific CRM 

23. mySAP Product Life Cycle Management

  1. Document Management  
  2. Engineering Change Management
  3. Enterprise Content Management
  4. Classification
  5. Basic Data for Process Manufacturing 

24. SAP SCM (SAP Supply Chain Management)

  1. SCM Process and Business Scenarios
  2. SAP Forecasting and Replenishment
  3. SAP Advance Planning and Optimization (SAP - APO)
  4. SAP Inventory Collaboration Hub (SAP - OCH)
  5. SAP Event Management (SAP - EM)
  6. SCM Basis 

25. SAP Netweaver

  1. SAP Masterdata Management
  2. Information Integration
  3. Portal Content
  4. Process Integration
  5. Knowledge Management
  6. Life Cycle Management
  7. SAP Business Intelligence
  8. SAP Visual Composer
  9. People Integration
  10. Application Platform
  11. SAP Web Application Server
  12. SAP Business Information Warehouse
  13. SAP Solution Manager
  14. SAP Enterprise Portal
  15. SAP Mobile Engine
  16. Security 


SAP_ Automation

Manual Testing with BPT approach in HP ALM

Every body knows BPT(Business Process Testing) can be done with HP UFT/QTP tool with HP ALM. But HP ALM tool has option to support Business Process Testing for manual testing as well. In fact it is quite easy and more structured compare to normal manual testing process in ALM.

Below are the steps how to proceed for that.

1.    Create Business Component in ALM under “Business Components” tab
Steps:
•    Choose “Business Components” tab 
•    Select/Create a folder
•    Click on “New Component” (Highlighted in below screenshot)
On the new component window enter details and click on “OK” button

Now under “Manual Implementation” tab create test case steps to prepare manual test case.

Click on “New Step” from above screen(Highlighted). On clicking this it opens “Component Step Details” window 

From the “Component Step Details” window enter manual test case step details and Press OK button
2.    Calling Business Component in Test Plan to create Test Case
Steps:
•    Choose “Test Plan” tab 
•    Select/Create a folder
•    Click on “New Test” (Highlighted in below screenshot)
In the “New Test” window choose “Type” as “Business Process” option and enter rest of details and click on OK
From above created test click on “Select Components” button to select business components created above
From the components tab(right hand side) Select the required components and click on “Quick Add” button or drag and drop under “test script” pane
3.    Run the test case (manual business components) from Test Lab tab
Steps:
•    Choose “Test Lab” tab 
•    Select/Create a folder
•    Click on “New Test Set” (Highlighted in above screenshot)
In the “New Test Window” enter mandatory details and click on “OK” button to generate empty test set.
Form the above created test set click on “Select Tests” button to select test case(business components test case)
From the “Test Plan Tree” pull business process test case and make your business process test set ready
4.    Execute business process test set from Manual Runner
On “BPT Manual Runner” window click on “Begin Run” button to start manual BPT to run
On Clicking “Begin Run” button it opens Business process test with manual test steps details
Enter actual results and make pass/fail the test step and complete the test case execution
After completing the test case execution click on “end Run” and verify the test case status

Saturday 16 April 2016

Basic_Interview_Questions



Question 1: What are the objects identified in QTP?

Answer: 

When we record or learn object in QTP, QTP records properties of the object known as identification properties which are specific to the object class
for e.g. when we identify an input box, it is an object of WebEdit class and will store specific properties to the object. These objects are known as Test Objects.

When we run a test in QTP, QTP matches properties stored for test objects with run-time objects, i.e. objects in the application during test run. If the properties of run time object matches with test objects, we can perform operations on the identified object.


Question 2: What are native properties and Identification properties?

Answer: 
Identification Properties are properties that QTP uses to identify objects in application. The identification properties for a test object are determined by its test object class and values for properties are used to identify object.

We can retrieve and set test objects and properties using GetTOproperty and SetTOproperty. GetTOproperty method retrieves the property of object as stored in repository whereas SetTOproperty sets the property value of a test object in repository. Similar to this, GetROproperty is used to retrieve property of runtime object. Since we cannot change property of an object at runtime, there is nothing like SetROProperty

Browser("google").Page("google").WebEdit("UserName").SetTOProperty "Name", "Nitin"
strName= Browser("google").Page("google").WebEdit("UserName").GetTOProperty("Name")
strName= Browser("google").Page("google").WebEdit("UserName").GetROProperty("Name")

Native properties are properties as created by the creator of object, e.g. Microsoft is creator for IE explorer objects. We can retrieve native properties value for an object using .object

e.g. : Set objReport = Browser("Google").Page("title:=.*").Frame("name:=ifrt5").Object.getelementbyid("username")
objReport.innertext = “nitin”
This code will search for element with html id as “username” in frame object and sets value nitin in the element.


Question 3: How is an object identified in UFT/QTP ?
Answer: 
1. UFT first identifies an object based on description properties, and if no match is found, it throws an error. In case unique match is found, QTP perform action of the matched object.
2. If multiple matches are found based on description properties, and Visual Relation Identifier (Identifying object based on relative position of an object w.r.t other objects) is defined for test object, QTP searches for a match based on the relational identifier.
3, In case 1) and 2) does not result in a unique match for object, QTP Searches for an object using smart identification.
4. In case, step 1, 3) does not return a unique matching object and Visual Relation Identifier is not defined, QTP looks for ordinal identifier.Ordinal identifiers are not used in case visual relation identifiers are defined for object.


Question 4: What are description properties?
 Answer: For every test object, there are identification properies by which QTP identifies the object. Properties that QTP always learns as part of the description for test objects of the selected class are called mandatory property, in case object is not identified uniquely during learning or recording, QTP learns additional properties for test object of the selected class to create a unique test object description. These additional properties are known as Assistive properties. Assistive and mandatory properties used together to learn an object during learn or recording are known as Description properties.


Question 5: Can we modify which properties to be learned as mandatory and which to be learned as assistive properties?
Answer: By default in QTP, for each test object class, there are certain properties which are defined as mandatory properties and some other properties as Assistive properties, but we can change the properties to be learned as mandatory or assistive as described below:

Navigate to Tools>Object Identification in UFT 11.5.  In the Object Identification window, for each object class there are properties marked as mandatory and assistive, we can add remove properties using add/remove button as shown below:

Defining mandatory and assistive properties

Question 6: What is Smart Identification?
Answer: When an object is not uniquely recognized by the description properties and visual relation identifier defined for object, QTP uses smart identification mechanism to uniquely identify an object if smart identification is set as true at object properties in the object repositories. There are some set of properties known as base filter properties (most fundamental properties of a particular test object class) and optional filter properties (additional properties that can help identify objects of a particular class.).

Smart Identication properties
Smart identification process is as follows:
QTP unlearns all the properties defined for object. Based on first base filter properties, QTP shortlists all the objects within the same parent class, QTP further shortlists based on other base filter properties followed by optional filter properties until a unique match for object is found. In case no unique match is found, post short listing by all optional filter properties, QTP selects unique object based on ordinal identifier defined for object.

Question 7: What is the default ordinal identifier for web browser object?
Answer:
a.  Creation Time
b.  Location
c.  Index
d.  Position.
 The default ordinal identifier is Creation time for browser object, for all other web object, the default ordinal identifier is Index.For Standard Windows object, it is Location.

Friday 1 April 2016

VB-Script Notes

What is VBScript?

VBScript is a Microsoft scripting language.

VBScript is a scripting language .A scripting language is a lightweight programming language . VBScript is a light version of Microsoft's programming language Visual Basic . Add VBScript to your HTML pages, to make your web site more dynamic and interactive.

How Does it Work?

When a VBScript is inserted into a HTML document, the Internet browser will read the HTML and interpret the VBScript. The VBScript can be executed immediately, or at a later event.

How to Handle Older Browsers
Older browsers that do not support scripts will display the script as page content. To prevent them from doing this, you can use the HTML comment tag:
How to format the text on your page with HTML tags

<html>
<body>
<script type="text/vbscript">
document.write("Hello from VBScript!")
</script>
</body>
</html>

Output : Hello from VBScript!

Where to Put the VBScript
Scripts in a page will be executed immediately while the page loads into the browser. This is not always what we want. Sometimes we want to execute a script when a page loads, other times when a user triggers an event.

Scripts in the head section: Scripts to be executed when they are called or when an event is triggered go in the head section. When you place a script in the head section you will assure that the script is loaded before anyone uses it:
Scripts in the body section: Scripts to be executed when the page loads go in the body section. When you place a script in the body section it generates the content of the page:
Scripts in both the body and the head section: You can place an unlimited number of scripts in your document, so you can have scripts in both the body and the head section.
Examples
Head section
Scripts can be placed in the head section. Usually we put all the "functions" in the head section. The reason for this is to be sure that the script is loaded before the function is called.
We usually use the head section for "functions".
The reason for this is to be sure that the script is loaded before the function is called.
Result
We usually use the head section for "functions". The reason for this is
to be sure that the script is loaded before the function is called.
Body section
Execute a script that is placed in the body section. Scripts in the body section are executed when the page is loading.
Result
Scripts in the body section are executed when the page is loading
What is a Variable?
A variable is a "container" for information you want to store. A variable's value can change during the script. You can refer to a variable by name to see its value or to change its value. In VBScript, all variables are of type variant, that can store different types of data.
Rules for Variable Names:
 Must begin with a letter
 Cannot contain a period (.)
 Cannot exceed 255 characters
Declaring Variables
You can declare variables with the Dim, Public or the Private statement. Like this:
dim name
name=some value
Now you have created a variable. The name of the variable is "name".
You can also declare variables by using its name in your script. Like this:
name=some value
Now you have also created a variable. The name of the variable is "name".
However, the last method is not a good practice, because you can misspell the variable name later in your script, and that can cause strange results when your script is running. This is because when you misspell for example the "name" variable to "nime" the script will automatically create a new variable called "nime". To prevent your script from doing this you can use the Option Explicit statement. When you use this statement you will have to declare all your variables with the dimpublic or private statement. Put the Option Explicit statement on the top of your script. Like this:
option explicit
dim name
name=some value
Assigning Values to Variables
You assign a value to a variable like this:
name="Hege"
i=200
The variable name is on the left side of the expression and the value you want to assign to the
variable is on the right. Now the variable "name" has the value "Hege".
Lifetime of Variables:
How long a variable exists is its lifetime.
When you declare a variable within a procedure, the variable can only be accessed within that procedure. When the procedure exits, the variable is destroyed. These variables are called local variables. You can have local variables with the same name in different procedures, because each is recognized only by the procedure in which it is declared. 
If you declare a variable outside a procedure, all the procedures on your page can access it. The lifetime of these variables starts when they are declared, and ends when the page is closed.
Array Variables:
Sometimes you want to assign more than one value to a single variable. Then you can create a variable that can contain a series of values. This is called an array variable. The declaration of an array variable uses parentheses ( ) following the variable name. In the following example, an array containing 3 elements is declared:
dim names(2)
The number shown in the parentheses is 2. We start at zero so this array contains 3 elements. This is a fixed-size array. You assign data to each of the elements of the array like this:
names(0)="Tove"
names(1)="Jani"
names(2)="Stale"
Similarly, the data can be retrieved from any element using the index of the particular array element you want. Like this:
mother=names(0)
You can have up to 60 dimensions in an array. Multiple dimensions are declared by separating the numbers in the parentheses with commas. Here we have a two-dimensional array consisting of 5 rows and 7 columns:
dim table(4, 6)
Examples
Create a variable
Variables are used to store information. This example demonstrates how you can create a variable, and assign a value to it.
Result
Jan Egil
Insert a variable value in a text
This example demonstrates how you can insert a variable value in a text.
Result
My name is: Jan Egil
Create an array
Arrays are used to store a series of related data items. This example demonstrates how you can make an array that stores names. ( We are using a "for loop" to demonstrate how you write the names. )
Result
Jan Egil
Tove
Hege
Stale
Kai Jim
Borge
We have two kinds of procedures: The Sub procedure and the Function procedure.
A Sub procedure:
is a series of statements, enclosed by the Sub and End Sub statements can perform actions, but does not return a value can take arguments that are passed to it by a calling procedure without arguments, must include an empty set of parentheses ()
Sub mysub()
some statements
End Sub
or
Sub mysub(argument1,argument2)
some statements
End Sub
A Function procedure:
is a series of statements, enclosed by the Function and End Function statements can perform actions and can return a value can take arguments that are passed to it by a calling procedure without arguments, must include an empty set of parentheses ()
returns a value by assigning a value to its name
Function myfunction()
some statements
myfunction=some value
End Function
or
Function myfunction(argument1,argument2)
some statements
myfunction=some value
End Function
Call a Sub or Function Procedure:
When you call a Function in your code, you do like this:
name = findname()
Here you call a Function called "findname", the Function returns a value that will be stored in the variable "name". Or, you can do like this:
msgbox "Your name is " & findname()
Here you also call a Function called "findname", the Function returns a value that will be displayed in the message box. When you call a Sub procedure you can use the Call statement, like this:
Call MyProc(argument)
Or, you can omit the Call statement, like this:
MyProc argument
Examples
Sub procedure
The sub procedure does not return a value.
A sub procedure does not return a result.
Result
A sub procedure does not return a result.
Function procedure
The function procedure is used if you want to return a value.
A function procedure CAN return a result.
Result
My favorite color is BLUE
A function procedure CAN return a result.

Conditional Statements
Very often when you write code, you want to perform different actions for different decisions. You can use conditional statements in your code to do this. In VBScript we have three conditional statements:
  • if statement - use this statement if you want to execute a set of code when a condition is true
  • if...then...else statement - use this statement if you want to select one of two sets of lines to execute
  • if...then...elseif statement - use this statement if you want to select one of many sets of lines to execute
  • select case statement - use this statement if you want to select one of many sets of lines to execute

If....Then.....Else
You should use the If...Then...Else statement if you want to
 execute some code if a condition is true
 select one of two blocks of code to execute
If you want to execute only one statement when a condition is true, you can write the code on one line:
if i=10 Then msgbox "Hello"
There is no ..else.. in this syntax. You just tell the code to perform one action if the condition is true (in this case if i=10).
If you want to execute more than one statement when a condition is true, you must put each statement on separate lines and end the statement with the keyword "End If":
if i=10 Then
msgbox "Hello"
i = i+1
end If
There is no ..else.. in this syntax either. You just tell the code to perform multiple actions if the condition is true.
If you want to execute a statement if a condition is true and execute another statement if the condition is not true, you must add the "Else" keyword:
if i=10 then
msgbox "Hello"
else
msgbox "Goodbye"
end If
The first block of code will be executed if the condition is true, and the other block will be executed otherwise (if i is not equal to 10).
If....Then.....Elseif
You can use the if...then...elseif statement if you want to select one of many blocks of code to execute:
if payment="Cash" then
msgbox "You are going to pay cash!"
elseif payment="Visa" then
msgbox "You are going to pay with visa."
elseif payment="AmEx" then
msgbox "You are going to pay with American Express."
else
msgbox "Unknown method of payment."
end If
Select Case
You can also use the SELECT statement if you want to select one of many blocks of code to execute:
select case payment
case "Cash"
msgbox "You are going to pay cash"
case "Visa"
msgbox "You are going to pay with visa"
case "AmEx"
msgbox "You are going to pay with American Express"
case Else
msgbox "Unknown method of payment"
end select
This is how it works: First we have a single expression (most often a variable), that is evaluated once. The value of the expression is then compared with the values for each Case in the structure.
If there is a match, the block of code associated with that Case is executed.
Examples
The if...then...else statement
This example demonstrates how to write the if...then..else statement.
Result
Have a nice day!
The if...then...elseif... statement
This example demonstrates how to write the if...then...elseif statement.
Result
Time zone = Chennai, Kolkatta, Mumbai and Delhi
The select case statement
This example demonstrates how to write the select case statement.
This example demonstrates the "select case" statement.
You will receive a different greeting based on what day it is.
Note that Sunday=1, Monday=2, Tuesday=3, etc.
Result
Just Tuesday!
This example demonstrates the "select case" statement.
You will receive a different greeting based on what day it is.
Note that Sunday=1, Monday=2, Tuesday=3, etc.

Looping Statements
Very often when you write code, you want to allow the same block of code to run a number of times. You can use looping statements in your code to do this.
In VBScript we have four looping statements:
  • For...Next statement - runs statements a specified number of times.
  • For Each...Next statement - runs statements for each item in a collection or each element of an array
  • Do...Loop statement - loops while or until a condition is true
  • While...Wend statement - Do not use it - use the Do...Loop statement instead
For...Next Loop
You can use a For...Next statement to run a block of code, when you know how many repetitions you want.
You can use a counter variable that increases or decreases with each repetition of the loop, like this:
For i=1 to 10
some code
Next
The For statement specifies the counter variable (i) and its start and end values. The Next statement increases the counter variable (i) by one.
Step Keyword
Using the Step keyword, you can increase or decrease the counter variable by the value you specify.
In the example below, the counter variable (i) is increased by two each time the loop repeats.
For i=2 To 10 Step 2
some code
Next
To decrease the counter variable, you must use a negative Step value. You must specify an end value that is less than the start value.
In the example below, the counter variable (i) is decreased by two each time the loop repeats.
For i=10 To 2 Step -2
some code
Next
Exit a For...Next
You can exit a For...Next statement with the Exit For keyword.
For Each...Next Loop
For Each...Next loop repeats a block of code for each item in a collection, or for each element of an array.
dim cars(2)
cars(0)="Volvo"
cars(1)="Saab"
cars(2)="BMW"
For Each x in cars
document.write(x & "")
Next
Do...Loop
You can use Do...Loop statements to run a block of code when you do not know how many repetitions you want. The block of code is repeated while a condition is true or until a condition becomes true.
Repeating Code While a Condition is True
You use the While keyword to check a condition in a Do...Loop statement.
Do While i>10
some code
Loop
If equals 9, the code inside the loop above will never be executed.
Do
some code
Loop While i>10
The code inside this loop will be executed at least one time, even if is less than 10.
Repeating Code Until a Condition Becomes True
You use the Until keyword to check a condition in a Do...Loop statement.
Do Until i=10
some code
Loop
If equals 10, the code inside the loop will never be executed.
Do
some code
Loop Until i=10
The code inside this loop will be executed at least one time, even if is equal to 10.
Exit a Do...Loop
You can exit a Do...Loop statement with the Exit Do keyword.
Do Until i=10
i=i-1
If i<10>
Loop
The code inside this loop will be executed as long as is different from 10, and as long as is greater than 10.
Examples
For...next loop
This example demonstrates how to make a simple For....Next loop.
Result
The number is 0
The number is 1
The number is 2
Looping through headers
This example demonstrates how you can loop through the 6 headers in html.
This is header 4
This is header 5
This is header 6
For...each loop
This example demonstrates how to make a simple For.....Each loop.
Result
Jani
Tove
Hege
Do...While loop
This example demonstrates how to make a simple Do...While loop.
Result
5, 6, 7, 8, 9,
This page contains all the built-in VBScript functions. The page is divided into following sections:
 Date/Time functions
 Conversion functions
 Format functions
 Math functions
 Array functions
 String functions
 Other functions
Date/Time Functions
Function
CDate
Converts a valid date and time expression to the variant of subtype Date
The CDate function converts a valid date and time expression to type Date, and returns the result.
Tip: Use the IsDate function to determine if date can be converted to a date or time.
Note: The IsDate function uses local setting to determine if a string can be converted to a date ("January" is not a month in all languages.)
Syntax
CDate(date)
Parameter Description
date Required. Any valid date expression (like Date() or Now())
Example 1
d="April 22, 2001"
if IsDate(d) then
document.write(CDate(d))
end if
Output:
2/22/01
Example 2
d=#2/22/01#
if IsDate(d) then
document.write(CDate(d))
end if
Output:
2/22/01
Example 3
d="3:18:40 AM"
if IsDate(d) then
document.write(CDate(d))
end if
Output:
3:18:40 AM
Date:
Returns the current system date
The Date function returns the current system date.
Syntax
Date
Example 1
document.write("The current system date is: ")
document.write(Date)
Output:
The current system date is: 1/14/2002
DateAdd:
Returns a date to which a specified time interval has been added
The DateAdd function returns a date to which a specified time interval has been added.
Syntax
DateAdd(interval,number,date)
Parameter Description
interval Required. The interval you want to add, Can take the following values:

  • yyyy - Year
  • q - Quarter
  • m - Month
  • y - Day of year
  • d - Day
  • w - Weekday
  • ww - Week of year
  • h - Hour
  • n - Minute
  • s - Second
number Required. The number of interval you want to add. Can either be positive, for dates in the future, or negative, for dates in the past date Required. Variant or literal representing the date to which interval is added
Example 1
'Add one month to January 31, 2000
document.write(DateAdd("m",1,"31-Jan-00"))
Output:
2/29/2000
Example 2
'Add one month to January 31, 2001
document.write(DateAdd("m",1,"31-Jan-01"))
Output:
2/28/2001
Example 3
'Subtract one month from January 31, 2001
document.write(DateAdd("m",-1,"31-Jan-01"))
Output:
12/31/2000
DateDiff:
Returns the number of intervals between two dates
The DateDiff function returns the number of intervals between two dates.
Syntax
DateDiff(interval,date1,date2[,firstdayofweek[,firstweekofyear]])
date1,date2 Required. Date expressions. Two dates you want to use in the calculation firstdayofweek Optional. Specifies the day of the week.
Can take the following values:
 0 = vbUseSystemDayOfWeek - Use National Language Support (NLS) API
setting

  • 1 = vbSunday - Sunday (default)
  • 2 = vbMonday - Monday
  • 3 = vbTuesday - Tuesday
  • 4 = vbWednesday - Wednesday
  • 5 = vbThursday - Thursday
  • 6 = vbFriday - Friday
  • 7 = vbSaturday - Saturday
firstweekofyear Optional. Specifies the first week of the year.
Can take the following values:

  • 0 = vbUseSystem - Use National Language Support (NLS) API setting
  • 1 = vbFirstJan1 - Start with the week in which January 1 occurs (default)
  • 2 = vbFirstFourDays - Start with the week that has at least four days in the new year
  • 3 = vbFirstFullWeek - Start with the first full week of the new year
Example 1
document.write(Date & "")
document.write(DateDiff("m",Date,"12/31/2002") & "")
document.write(DateDiff("d",Date,"12/31/2002") & "")
document.write(DateDiff("n",Date,"12/31/2002"))
Output:
1/14/2002
11
351
505440
Example 2
document.write(Date & "")
'Note that in the code below
'is date1>date2
document.write(DateDiff("d","12/31/2002",Date))
Output:
1/14/2002
-351
Example 3
'How many weeks (start on Monday),
'are left between the current date and 10/10/2002
document.write(Date & "")
document.write(DateDiff("w",Date,"10/10/2002",vbMonday))
Output:
1/14/2002
38
DatePart:
Returns the specified part of a given date
The DatePart function returns the specified part of a given date.
Syntax
DatePart(interval,date[,firstdayofweek[,firstweekofyear]])
Example 1
document.write(Date & "")
document.write(DatePart("d",Date))
Output:
1/14/2002
14
Example 2
document.write(Date & "")
document.write(DatePart("w",Date))
Output:
1/14/2002
2
DateSerial:
Returns the date for a specified year, month, and day
The DateSerial function returns a Variant of subtype Date for a specified year, month, and day.
Syntax
DateSerial(year,month,day)
Parameter Description
year Required. A number between 100 and 9999, or a numeric expression. Values
between 0 and 99 are interpreted as the years 1900–1999. For all other year
arguments, use a complete four-digit year month Required. Any numeric expression day Required. Any numeric expression
Example 1
document.write(DateSerial(1996,2,3) & "")
document.write(DateSerial(1990-20,9-2,1-1))
Output:
2/3/1996
6/30/1970
DateValue
Returns a date:
The DateValue function returns a type Date.
Note: If the year part of date is omitted this function will use the current year from the computer's system date.
Note: If the date parameter includes time information it will not be returned. However, if date
includes invalid time information, a run-time error will occur.
Syntax
DateValue(date)
Parameter Description
date Required. A date from January 1, 100 through December 31, 9999 or any
expression that can represent a date, a time, or both a date and time
Example 1
document.write(DateValue("31-Jan-02") & "")
document.write(DateValue("31-Jan") & "")
document.write(DateValue("31-Jan-02 2:39:49 AM"))
Output:
1/31/2002
1/31/2002
1/31/2002
Day:
Returns a number that represents the day of the month (between 1 and 31,inclusive)
The Day function returns a number between 1 and 31 that represents the day of the month.
Syntax
Day(date)
Parameter Description
date Required. Any expression that can represent a date
Example 1
document.write(Date & "")
document.write(Day(Date))
Output:
1/14/2002
14
FormatDateTime:
Returns an expression formatted as a date or time
The FormatDateTime function formats and returns a valid date or time expression.
Syntax
FormatDateTime(date,format)
Parameter Description
date Required. Any valid date expression (like Date() or Now())
format Optional. A Format value that specifies the date/time format to use
Example 1
document.write("The current date is: ")
document.write(FormatDateTime(Date()))
Output:
The current date is: 2/22/2001
Example 2
document.write("The current date is: ")
document.write(FormatDateTime(Date(),1))
Output:
The current date is: Thursday, February 22, 2001
Example 3
document.write("The current date is: ")
document.write(FormatDateTime(Date(),2))
Output:
The current date is: 2/22/2001
Format Values
Constant ValueDescription:
vbGeneralDate 0 Display a date in format mm/dd/yy. If the date parameter is Now(), it will also return the time, after the date
vbLongDate 1 Display a date using the long date format: weekday, month day, year
vbShortDate 2 Display a date using the short date format: like the default (mm/dd/yy)
vbLongTime 3 Display a time using the time format: hh:mm:ss PM/AM
vbShortTime 4 Display a time using the 24-hour format: hh:mm
Hour:
Returns a number that represents the hour of the day (between 0 and 23, inclusive)
The Hour function returns a number between 0 and 23 that represents the hour of the day.
Syntax
Hour(time)
Parameter Description
time Required. Any expression that can represent a time
Example 1
document.write(Now & "")
document.write(Hour(Now))
Output:
1/15/2002 10:07:47 AM
10
Example 2
document.write(Hour(Time))
Output:
10
IsDate
Returns a Boolean value that indicates if the evaluated expression can be converted to a date
The IsDate function returns a Boolean value that indicates if the evaluated expression can be converted to a date. It returns True if the expression is a date or can be converted to a date; otherwise, it returns False.
Note: The IsDate function uses local setting to determine if a string can be converted to a date ("January" is not a month in all languages.)
Syntax
IsDate(expression)
Parameter Description
expression Required. The expression to be evaluated
Example 1
document.write(IsDate("April 22, 1947") & "")
document.write(IsDate(#11/11/01#) & "")
document.write(IsDate("#11/11/01#") & "")
document.write(IsDate("Hello World!"))
Output:
True
True
False
False
Minute:
Returns a number that represents the minute of the hour (between 0 and 59, inclusive)
The Minute function returns a number between 0 and 59 that represents the minute of the hour.
Syntax
Minute(time)
Parameter Description
time Required. Any expression that can represent a time
Example 1
document.write(Now & "")
document.write(Minute(Now))
Output:
1/15/2002 10:34:39 AM
34
Example 2
document.write(Minute(Time))
Output:
34
Month:
Returns a number that represents the month of the year (between 1 and 12, inclusive)
The Month function returns a number between 1 and 12 that represents the month of the year.
Syntax
Month(date)
Parameter Description
date Required. Any expression that can represent a date
Example 1
document.write(Date & "")
document.write(Month(Date))
Output:
1/15/2002
1
MonthName:
Returns the name of a specified month
The MonthName function returns the name of the specified month.
Syntax
MonthName(month[,abbreviate])
Parameter Description
month Required. Specifies the number of the month (January is 1, February is 2, etc.)
abbreviate Optional. A Boolean value that indicates if the month name is to be abbreviated.
Default is False
Example 1
document.write(MonthName(8))
Output:
August
Example 2
document.write(MonthName(8,true))
Output:
Aug
Now:
Returns the current system date and time
The Now function returns the current date and time according to the setting of your computer's system date and time.
Syntax
Now
Example 1
document.write(Now)
Output:
1/15/2002 10:52:15 AM
Second:
Returns a number that represents the second of the minute (between 0 and 59, inclusive)
The Second function returns a number between 0 and 59 that represents the second of the minute.
Syntax
Second(time)
Parameter Description
time Required. Any expression that can represent a time
Example 1
document.write(Now & "")
document.write(Second(Now))
Output:
1/15/2002 10:55:51 AM
51
Example 2
document.write(Second(Time))
Output:
51
Time:
Returns the current system time
The Time function returns the current system time.
Syntax
Time
Example 1
document.write(Time)
Output:
11:07:27 AM
Timer:
Returns the number of seconds since 12:00 AM
The Timer function returns the number of seconds since 12:00 AM.
Syntax
Timer
Example 1
document.write(Time & "")
document.write(Timer)
Output:
11:11:13 AM
40273.2
TimeSerial:
Returns the time for a specific hour, minute, and second
The TimeSerial function returns the time for a specific hour, minute, and second.
Syntax
TimeSerial(hour,minute,second)
Parameter Description
hour Required. A number between 0 and 23, or a numeric expression
minute Required. Any numeric expression
second Required. Any numeric expression
Example 1
document.write(TimeSerial(23,2,3) & "")
document.write(TimeSerial(0,9,11) & "")
document.write(TimeSerial(14+2,9-2,1-1))
Output:
11:02:03 PM
12:09:11 AM
4:07:00 PM
TimeValue:
Returns a time
The TimeValue function returns a Variant of subtype Date that contains the time.
Syntax
TimeValue(time)
Parameter Description
time Required. A time from 0:00:00 (12:00:00 A.M.) to 23:59:59 (11:59:59 P.M.) or
any expression that represents a time in that range
Example 1
document.write(TimeValue("5:55:59 PM") & "")
document.write(TimeValue(#5:55:59 PM#) & "")
document.write(TimeValue("15:34"))
Output:
5:55:59 PM
5:55:59 PM
3:34:00 PM
Weekday:
Returns a number that represents the day of the week (between 1 and 7, inclusive)
The Weekday function returns a number between 1 and 7, that represents the day of the week.
Syntax
Weekday(date[,firstdayofweek])
Parameter Description
date Required. The date expression to evaluate
firstdayofweek Optional. Specifies the first day of the week.
Can take the following values:

  • 0 = vbUseSystemDayOfWeek - Use National Language Support (NLS)API setting
  • 1 = vbSunday - Sunday (default)
  • 2 = vbMonday - Monday
  • 3 = vbTuesday - Tuesday
  • 4 = vbWednesday - Wednesday
  • 5 = vbThursday - Thursday
  • 6 = vbFriday - Friday
  • 7 = vbSaturday - Saturday
Example 1
document.write(Date & "")
document.write(Weekday(Date))
Output:
1/15/2002
3
WeekdayName:
Returns the weekday name of a specified day of the week
The WeekdayName function returns the weekday name of a specified day of the week.
Syntax
WeekdayName(weekday[,abbreviate[,firstdayofweek]])
Parameter Description
weekday Required. The number of the weekday abbreviate Optional. A Boolean value that indicates if the weekday name is to be abbreviated
Example 1
document.write(WeekdayName(3))
Output:
Tuesday
Example 2
document.write(Date & "")
document.write(Weekday(Date) & "")
document.write(WeekdayName(Weekday(Date)))
Output:
1/15/2002
3
Tuesday
Example 3
document.write(Date & "")
document.write(Weekday(Date) & "")
document.write(WeekdayName(Weekday(Date),true))
Output:
1/15/2002
3
Tue
Year:
Returns a number that represents the year
The Year function returns a number that represents the year.
Syntax
Year(date)
Parameter Description
date Required. Any expression that can represent a date
Example 1
document.write(Date & "")
document.write(Year(Date))
Output:
1/15/2002
2002
Conversion Functions
Asc Converts the first letter in a string to ANSI code
The Asc function converts the first letter in a string to ANSI code, and returns the result.
Syntax
Asc(string)
Parameter Description
string Required. A string expression. Cannot be an empty string!
Example 1
document.write(Asc("A") & "")
document.write(Asc("F"))
Output:
65
70
Example 2
document.write(Asc("a") & "")
document.write(Asc("f"))
Output:
97
102
Example 3
document.write(Asc("W") & "")
document.write(Asc("W3Schools.com"))
Output:
87
87
Example 4
document.write(Asc("2") & "")
document.write(Asc("#"))
Output:
50
35
CBool 
Converts an expression to a variant of subtype Boolean
The CBool function converts an expression to type Boolean.
Syntax
CBool(expression)
Parameter Description
expression Required. Any valid expression. A nonzero value returns True, zero returns False. A run-time error occurs if the expression can not be interpreted as a
numeric value
Example 1
dim a,b
a=5
b=10
document.write(CBool(a) & "")
document.write(CBool(b))
Output:
True
True
CByte 
Converts an expression to a variant of subtype Byte
The CByte function converts an expression to type Byte.
Syntax
CByte(expression)
Parameter Description
expression Required. Any valid expression
Example 1
dim a
a=134.345
document.write(CByte(a))
Output:
134
Example 2
dim a
a=14.345455
document.write(CByte(a))
Output:
14
CCur 
Converts an expression to a variant of subtype Currency
The CCur function converts an expression to type Currency.
Syntax
CCur(expression)
Parameter Description
expression Required. Any valid expression
Example 1
dim a
a=134.345
document.write(CCur(a))
Output:
134.345
Example 2
dim a
a=1411111111.345455
'NB! This function rounds off to 4 decimal places
document.write(CCur(a))
Output:
1411111111.3455
CDate 
Converts a valid date and time expression to the variant of subtype Date
The CDate function converts a valid date and time expression to type Date, and returns the result.
Tip: Use the IsDate function to determine if date can be converted to a date or time.
Note: The IsDate function uses local setting to determine if a string can be converted to a date ("January" is not a month in all languages.)
Syntax
CDate(date)
Parameter Description
date Required. Any valid date expression (like Date() or Now())
Example 1
d="April 22, 2001"
if IsDate(d) then
document.write(CDate(d))
end if
Output:
2/22/01
Example 2
d=#2/22/01#
if IsDate(d) then
document.write(CDate(d))
end if
Output:
2/22/01
Example 3
d="3:18:40 AM"
if IsDate(d) then
document.write(CDate(d))
end if
Output:
3:18:40 AM
CDbl 
Converts an expression to a variant of subtype Double
The CDbl function converts an expression to type Double.
Syntax
CDbl(expression)
Parameter Description
expression Required. Any valid expression
Example 1
dim a
a=134.345
document.write(CDbl(a))
Output:
134.345
Example 2
dim a
a=14111111113353355.345455
document.write(CDbl(a))
Output:
1.41111111133534E+16
Chr 
Converts the specified ANSI code to a character
The Chr function converts the specified ANSI character code to a character.
Note: The numbers from 0 to 31 represents nonprintable ASCII codes, i.e. Chr(10) will return a linefeed character.
Syntax
Chr(charcode)
Parameter Description
charcode Required. A number that identifies a character
Example 1
document.write(Chr(65) & "")
document.write(Chr(97))
Output:
Aa
Example 2
document.write(Chr(37) & "")
document.write(Chr(45))
Output:
%
-
Example 3
document.write(Chr(50) & "")
document.write(Chr(35))
Output:
2
#
CInt 
Converts an expression to a variant of subtype Integer
The CInt function converts an expression to type Integer.
Note: The value must be a number between -32768 and 32767.
Syntax
CInt(expression)
Parameter Description
expression Required. Any valid expression
Example 1
dim a
a=134.345
document.write(CInt(a))
Output:
134
Example 2
dim a
a=-30000.24
document.write(CInt(a))
Output:
-30000
CLng Converts an expression to a variant of subtype Long
The CLng function converts an expression to type Long.
Note: The value must be a number between -2147483648 and 2147483647.
Syntax
CLng(expression)
Parameter Description
expression Required. Any valid expression
Example 1
dim a,b
a=23524.45
b=23525.55
document.write(CLng(a) & "")
document.write(CLng(b))
Output:
23524
23526
CSng Converts an expression to a variant of subtype Single
The CSng function converts an expression to type Single.
Syntax
CSng(expression)
Parameter Description
expression Required. Any valid expression
Example 1
dim a,b
a=23524.4522
b=23525.5533
document.write(CSng(a) & "")
document.write(CSng(b))
Output:
23524.45
23525.55
CStr Converts an expression to a variant of subtype String
The CStr function converts an expression to type String.
Syntax
CStr(expression)
Parameter Description
expression Required. Any valid expression If expression is:

  • Boolean - then the CStr function will return a string containing true or false.
  • Date - then the CStr function will return a string that contains a date in the short-date format.
  • Null - then a run-time error will occur.
  • Empty - then the CStr function will return an empty string ("").
  • Error - then the CStr function will return a string that contains the word "Error" followed by an error number.
  • Other numeric - then the CStr function will return a string that contains the number.
Example 1
dim a
a=false
document.write(CStr(a))
Output:
false
Example 2
dim a
a=#01/01/01#
document.write(CStr(a))
Output:
1/1/2001
Hex Returns the hexadecimal value of a specified number
The Hex function returns a string that represents the hexadecimal value of a specified number.
Note: If number is not a whole number, it is rounded to the nearest whole number before being
evaluated.
Syntax
Hex(number)
Parameter Description
number Required. Any valid expression If number is:

  • Null - then the Hex function returns Null.
  • Empty - then the Hex function returns zero (0).
  • Any other number - then the Hex function returns up to eight hexadecimal characters.
Example 1
document.write(Hex(3) & "")
document.write(Hex(5) & "")
document.write(Hex(9) & "")
document.write(Hex(10) & "")
document.write(Hex(11) & "")
document.write(Hex(12) & "")
document.write(Hex(400) & "")
document.write(Hex(459) & "")
document.write(Hex(460))
Output:
3
59A
BC
190
1CB
1CC
Oct Returns the octal value of a specified number
The Oct function returns a string that represents the octal value of a specified number.
Note: If number is not already a whole number, it is rounded to the nearest whole number before
being evaluated.
Syntax
Oct(number)
Parameter Description
number Required. Any valid expression If number is:

  • Null - then the Oct function returns Null.
  • Empty - then the Oct function returns zero (0).
  • Any other number - then the Oct function returns up to 11 octal characters.
Example 1
document.write(Oct(3) & "")
document.write(Oct(5) & "")
document.write(Oct(9) & "")
document.write(Oct(10) & "")
document.write(Oct(11) & "")
document.write(Oct(12) & "")
document.write(Oct(400) & "")
document.write(Oct(459) & "")
document.write(Oct(460))
Output:
35
11
12
13
14
620
713
714
Format Functions
Function
FormatCurrency Returns an expression formatted as a currency value
The FormatCurrency function returns an expression formatted as a currency value using the currency symbol defined in the computer's control panel.
Syntax
FormatCurrency(Expression[,NumDigAfterDec[,IncLeadingDig[,UseParForNegNum[,GroupDig]]]])
Parameter Description
expression Required. The expression to be formatted
NumDigAfterDec Optional. Indicates how many places to the right of the decimal are displayed.
Default is -1 (the computer's regional settings are used)
IncLeadingDig Optional. Indicates whether or not a leading zero is displayed for fractional values:

  • -2 = TristateUseDefault - Use the computer's regional settings
  • -1 = TristateTrue - True
  • 0 = TristateFalse - False
UseParForNegNum Optional. Indicates whether or not to place negative values within parentheses:

  • -2 = TristateUseDefault - Use the computer's regional settings
  • -1 = TristateTrue - True
  • 0 = TristateFalse - False
GroupDig Optional. Indicates whether or not numbers are grouped using the group
delimiter specified in the computer's regional settings:

  • -2 = TristateUseDefault - Use the computer's regional settings
  • -1 = TristateTrue - True
  • 0 = TristateFalse - False
Example 1
document.write(FormatCurrency(20000))
Output:
$20,000.00
Example 2
document.write(FormatCurrency(20000.578,2))
Output:
$20,000.58
Example 3
document.write(FormatCurrency(20000.578,2,,,0))
Output:
$20000.58
FormatDateTime Returns an expression formatted as a date or time
The FormatDateTime function formats and returns a valid date or time expression.
Syntax
FormatDateTime(date,format)
Parameter Description
date Required. Any valid date expression (like Date() or Now()) format Optional. A Format value that specifies the date/time format to use
Example 1
document.write("The current date is: ")
document.write(FormatDateTime(Date()))
Output:
The current date is: 2/22/2001
Example 2
document.write("The current date is: ")
document.write(FormatDateTime(Date(),1))
Output:
The current date is: Thursday, February 22, 2001
Example 3
document.write("The current date is: ")
document.write(FormatDateTime(Date(),2))
Output:
The current date is: 2/22/2001
Format Values
Constant ValueDescription
vbGeneralDate 0 Display a date in format mm/dd/yy. If the date parameter is Now(), it will also return the time, after the date
vbLongDate 1 Display a date using the long date format: weekday, month day, year
vbShortDate 2 Display a date using the short date format: like the default (mm/dd/yy)
vbLongTime 3 Display a time using the time format: hh:mm:ss PM/AM
vbShortTime 4 Display a time using the 24-hour format: hh:mm

FormatNumber Returns an expression formatted as a number
The FormatNumber function returns an expression formatted as a number.
Syntax
FormatNumber(Expression[,NumDigAfterDec[,IncLeadingDig[,UseParForNegNum[,GroupDig]]]])
Parameter Description
expression Required. The expression to be formatted NumDigAfterDec Optional. Indicates how many places to the right of the decimal are displayed.
Default is -1 (the computer's regional settings are used)
IncLeadingDig Optional. Indicates whether or not a leading zero is displayed for fractional values:

  • -2 = TristateUseDefault - Use the computer's regional settings
  • -1 = TristateTrue - True
  • 0 = TristateFalse - False
UseParForNegNum Optional. Indicates whether or not to place negative values within parentheses:

  • -2 = TristateUseDefault - Use the computer's regional settings
  • -1 = TristateTrue - True
  • 0 = TristateFalse - False
GroupDig Optional. Indicates whether or not numbers are grouped using the group
delimiter specified in the computer's regional settings:

  • -2 = TristateUseDefault - Use the computer's regional settings
  • -1 = TristateTrue - True
  • 0 = TristateFalse - False
Example 1
document.write(FormatNumber(20000))
Output:
20,000.00
Example 2
document.write(FormatNumber(20000.578,2))
Output:
20,000.58
Example 3
document.write(FormatNumber(20000.578,2,,,0))
Output:
20000.58
FormatPercent Returns an expression formatted as a percentage
The FormatPercent function returns an expression formatted as a percentage (multiplied by 100) with a trailing % character.
Syntax
FormatPercent(Expression[,NumDigAfterDec[,IncLeadingDig[,UseParForNegNum[,GroupDig]]]])
Parameter Description
expression Required. The expression to be formatted
NumDigAfterDec Optional. Indicates how many places to the right of the decimal are displayed.
Default is -1 (the computer's regional settings are used)
IncLeadingDig Optional. Indicates whether or not a leading zero is displayed for fractional values:

  • -2 = TristateUseDefault - Use the computer's regional settings
  • -1 = TristateTrue - True
  • 0 = TristateFalse - False
UseParForNegNum Optional. Indicates whether or not to place negative values within parentheses:

  • -2 = TristateUseDefault - Use the computer's regional settings
  • -1 = TristateTrue - True
  • 0 = TristateFalse - False
GroupDig Optional. Indicates whether or not numbers are grouped using the group
delimiter specified in the computer's regional settings:

  • -2 = TristateUseDefault - Use the computer's regional settings
  • -1 = TristateTrue - True
  • 0 = TristateFalse - False
Example 1
'How many percent is 6 of 345?
document.write(FormatPercent(6/345))
Output:
1.74%
Example 2
'How many percent is 6 of 345?
document.write(FormatPercent(6/345,1))
Output:
1.7%
Math Functions

Abs: Returns the absolute value of a specified number
The Abs function returns the absolute value of a specified number.
Note: If the number parameter contains Null, Null will be returned
Note: If the number parameter is an uninitialized variable, zero will be returned.
Syntax
Abs(number)
Parameter Description
number Required. A numeric expression
Example 1
document.write(Abs(1) & "")
document.write(Abs(-1))
Output:
1
1
Example 2
document.write(Abs(48.4) & "")
document.write(Abs(-48.4))
Output:
48.4
48.4
Atn: Returns the arctangent of a specified number
The Atn function returns the arctangent of a specified number.
Syntax
Atn(number)
Parameter Description
number Required. A numeric expression
Example 1
document.write(Atn(89))
Output:
1.55956084453693
Example 2
document.write(Atn(8.9))
Output:
1.45890606062322
Example 3
'calculate the value of pi
dim pi
pi=4*Atn(1)
document.write(pi)
Output:
3.14159265358979
Cos: Returns the cosine of a specified number (angle)
The Cos function returns the cosine of a specified number (angle).
Syntax
Cos(number)
Parameter Description
number Required. A numeric expression that expresses an angle in radians
Example 1
document.write(Cos(50.0))
Output:
0.964966028492113
Example 2
document.write(Cos(-50.0))
Output:
0.964966028492113
Exp: Returns raised to a power
The Exp function returns raised to a power.
Note: The value of number cannot exceed 709.782712893.
Tip: Also look at the Log function.
Syntax
Exp(number)
Parameter Description
number Required. A valid numeric expression
Example 1
document.write(Exp(6.7))
Output:
812.405825167543
Example 2
document.write(Exp(-6.7))
Output:
1.23091190267348E-03
Hex: Returns the hexadecimal value of a specified number
The Hex function returns a string that represents the hexadecimal value of a specified number.
Note: If number is not a whole number, it is rounded to the nearest whole number before being evaluated.
Syntax
Hex(number)
Parameter Description
number Required. Any valid expression
If number is:

  • Null - then the Hex function returns Null.
  • Empty - then the Hex function returns zero (0).
  • Any other number - then the Hex function returns up to eight hexadecimal characters.
Example 1
document.write(Hex(3) & "")
document.write(Hex(5) & "")
document.write(Hex(9) & "")
document.write(Hex(10) & "")
document.write(Hex(11) & "")
document.write(Hex(12) & "")
document.write(Hex(400) & "")
document.write(Hex(459) & "")
document.write(Hex(460))
Output:
3
59
A
BC
190
1CB
1CC
Int: Returns the integer part of a specified number
The Int function returns the integer part of a specified number.
Note: If the number parameter contains Null, Null will be returned.
Tip: Also look at the Fix function.
Syntax
Int(number)
Parameter Description
number Required. A valid numeric expression
Example 1
document.write(Int(6.83227))
Output:
6
Example 2
document.write(Int(6.23443))
Output:
6
Example 3
document.write(Int(-6.13443))
Output:
-7
Example 4
document.write(Int(-6.93443))
Output:
-7
Fix: Returns the integer part of a specified number
The Fix function returns the integer part of a specified number.
Note: If the number parameter contains Null, Null will be returned.
Tip: Also look at the Int function.
Syntax
Fix(number)
Parameter Description
number Required. A valid numeric expression
Example 1
document.write(Fix(6.83227))
Output:
6
Example 2
document.write(Fix(6.23443))
Output:
6
Example 3
document.write(Fix(-6.13443))
Output:
-6
Example 4
document.write(Fix(-6.93443))
Output:
-6
Log: Returns the natural logarithm of a specified number
The Log function returns the natural logarithm of a specified number. The natural logarithm is the logarithm to the base e.
Note: Negative values are not allowed.
Tip: Also look at the Exp function.
Syntax
Log(number)
Parameter Description
number Required. A valid numeric expression > 0
Example 1
document.write(Log(38.256783227))
Output:
3.64432088381777
Oct: Returns the octal value of a specified number
The Oct function returns a string that represents the octal value of a specified number.
Note: If number is not already a whole number, it is rounded to the nearest whole number before being evaluated.
Syntax
Oct(number)
Parameter Description
number Required. Any valid expression
If number is:

  • Null - then the Oct function returns Null.
  • Empty - then the Oct function returns zero (0).
  • Any other number - then the Oct function returns up to 11 octal characters.
Example 1
document.write(Oct(3) & "")
document.write(Oct(5) & "")
document.write(Oct(9) & "")
document.write(Oct(10) & "")
document.write(Oct(11) & "")
document.write(Oct(12) & "")
document.write(Oct(400) & "")
document.write(Oct(459) & "")
document.write(Oct(460))
Output:
3
5
11
12
13
14
620
713
714
Rnd: Returns a random number less than 1 but greater or equal to 0
The Rnd function returns a random number. The number is always less than 1 but greater or equal to 0.
Syntax
Rnd[(number)]
Parameter Description
number Optional. A valid numeric expression
If number is: 

  • <0>
  • >0 - Rnd returns the next random number in the sequence
  • =0 - Rnd returns the most recently generated number
  • Not supplied - Rnd returns the next random number in the sequence
Example 1
document.write(Rnd)
Output:
0.7055475
Example 2
'If you refresh the page,
'using the code in example 1,
'the SAME random number will show over and over.
'Use the Randomize statement generate a new random number
'each time the page is reloaded!
Randomize
document.write(Rnd)
Output:
0.4758112
Example 3
'Here is how to produce random integers in a
'given range:
dim max,min
max=100
min=1
document.write(Int((max-min+1)*Rnd+min))
Output:
71
Sgn: Returns an integer that indicates the sign of a specified number
The Sgn function returns an integer that indicates the sign of a specified number.
Syntax
Sgn(number)
Parameter Description
number Required. A valid numeric expression
If number is:

  • >0 - Sgn returns 1
  • =0 - Sgn returns 0
  • <0>
Example 1
document.write(Sgn(15))
Output:
1
Example 2
document.write(Sgn(-5.67))
Output:
-1
Example 3
document.write(Sgn(0))
Output:
0
Sin: Returns the sine of a specified number (angle)
The Sin function returns the sine of a specified number (angle).
Syntax
Sin(number)
Parameter Description
number Required. A valid numeric expression that expresses an angle in radians
Example 1
document.write(Sin(47))
Output:
0.123573122745224
Example 2
document.write(Sin(-47))
Output:
-0.123573122745224
Sqr: Returns the square root of a specified number
The Sqr function returns the square root of a number.
Note: The number parameter cannot be a negative value.
Syntax
Sqr(number)
Parameter Description
number Required. A valid numeric expression >= 0
Example 1
document.write(Sqr(9))
Output:
3
Example 2
document.write(Sqr(0))
Output:
0
Example 3
document.write(Sqr(47))
Output:
6.85565460040104
Tan: Returns the tangent of a specified number (angle)
The Tan function returns the tangent of a specified number (angle).
Syntax
Tan(number)
Parameter Description
number Required. A valid numeric expression that expresses an angle in radians
Example 1
document.write(Tan(40))
Output:
-1.1172149309239
Example 2
document.write(Tan(40))
Output:
1.1172149309239
Array Functions

Array: Returns a variant containing an array
The Array function returns a variant containing an array.
Note: The first element in the array is zero.
Syntax
Array(arglist)
Parameter Description
arglist Required. A list (separated by commas) of values that is the elements in the
array
Example 1
dim a
a=Array(5,10,15,20)
document.write(a(3))
Output:
20
Example 2
dim a
a=Array(5,10,15,20)
document.write(a(0))
Output:
5
Filter: Returns a zero-based array that contains a subset of a string array based on a filter criteria
The Filter function returns a zero-based array that contains a subset of a string array based on a filter criteria.
Note: If no matches of the value parameter are found, the Filter function will return an empty array.
Note: If the parameter inputstrings is Null or is NOT a one-dimensional array, an error will occur.
Syntax
Filter(inputstrings,value[,include[,compare]])
Parameter Description
inputstrings Required. A one-dimensional array of strings to be searched value Required. The string to search for include Optional. A Boolean value that indicates whether to return the substrings that include or exclude value. True returns the subset of the array that contains value as a substring. False returns the subset of the array that does not contain value as a substring. Default is True.
compare Optional. Specifies the string comparison to use.
Can have one of the following values: 

  • 0 = vbBinaryCompare - Perform a binary comparison 
  • 1 = vbTextCompare - Perform a textual comparison
Example 1
dim a(5),b
a(0)="Saturday"
a(1)="Sunday"
a(2)="Monday"
a(3)="Tuesday"
a(4)="Wednesday"
b=Filter(a,"n")
document.write(b(0) & "")
document.write(b(1) & "")
document.write(b(2))
Output:
Sunday
Monday
Wednesday
Example 2
dim a(5),b
a(0)="Saturday"
a(1)="Sunday"
a(2)="Monday"
a(3)="Tuesday"
a(4)="Wednesday"
b=Filter(a,"n",false)
document.write(b(0) & "")
document.write(b(1) & "")
document.write(b(2))
Output:
Saturday
Tuesday
IsArray: Returns a Boolean value that indicates whether a specified variable is an array
The IsArray function returns a Boolean value that indicates whether a specified variable is an array.
If the variable is an array, it returns True, otherwise, it returns False.
Syntax
IsArray(variable)
Parameter Description
variable Required. Any variable
Example 1
dim a(5)
a(0)="Saturday"
a(1)="Sunday"
a(2)="Monday"
a(3)="Tuesday"
a(4)="Wednesday"
document.write(IsArray(a))
Output:
True
Example 2
dim a
a="Saturday"
document.write(IsArray(a))
Output:
False
Join: Returns a string that consists of a number of substrings in an array
The Join function returns a string that consists of a number of substrings in an array.
Syntax
Join(list[,delimiter])
Parameter Description
list Required. A one-dimensional array that contains the substrings to be joined
delimiter Optional. The character(s) used to separate the substrings in the returned
string. Default is the space character
Example 1
dim a(5),b
a(0)="Saturday"
a(1)="Sunday"
a(2)="Monday"
a(3)="Tuesday"
a(4)="Wednesday"
b=Filter(a,"n")
document.write(join(b))
Output:
Sunday Monday Wednesday
Example 2
dim a(5),b
a(0)="Saturday"
a(1)="Sunday"
a(2)="Monday"
a(3)="Tuesday"
a(4)="Wednesday"
b=Filter(a,"n")
document.write(join(b,", "))
Output:
Sunday, Monday, Wednesday
LBound: Returns the smallest subscript for the indicated dimension of an array
The LBound function returns the smallest subscript for the indicated dimension of an array.
Note: The LBound for any dimension is ALWAYS 0.
Tip: Use the LBound function with the UBound function to determine the size of an array.
Syntax
LBound(arrayname[,dimension])
Parameter Description
arrayname Required. The name of the array variable
dimension Optional. Which dimension's lower bound to return. 1 = first dimension, 2 =second dimension, and so on. Default is 1
Example 1
dim a(10)
a(0)="Saturday"
a(1)="Sunday"
a(2)="Monday"
a(3)="Tuesday"
a(4)="Wednesday"
a(5)="Thursday"
document.write(UBound(a))
document.write("")
document.write(LBound(a))
Output:
10
0
Split: Returns a zero-based, one-dimensional array that contains a
specified number of substrings
The Split function returns a zero-based, one-dimensional array that contains a specified number of substrings.
Syntax
Split(expression[,delimiter[,count[,compare]]])
Parameter Description
expression Required. A string expression that contains substrings and delimiters
delimiter Optional. A string character used to identify substring limits. Default is the
space character count Optional. The number of substrings to be returned. -1 indicates that all substrings are returned compare Optional. Specifies the string comparison to use.
Can have one of the following values:

  • 0 = vbBinaryCompare - Perform a binary comparison
  • 1 = vbTextCompare - Perform a textual comparison
Example 1
dim txt,a
txt="Hello World!"
a=Split(txt)
document.write(a(0) & "")
document.write(a(1))
Output:
Hello
World!
UBound: Returns the largest subscript for the indicated dimension of an array
The UBound function returns the largest subscript for the indicated dimension of an array.
Tip: Use the UBound function with the LBound function to determine the size of an array.
Syntax
UBound(arrayname[,dimension])
Parameter Description
arrayname Required. The name of the array variable dimension Optional. Which dimension's upper bound to return. 1 = first dimension, 2 = second dimension, and so on. Default is 1
Example 1
dim a(10)
a(0)="Saturday"
a(1)="Sunday"
a(2)="Monday"
a(3)="Tuesday"
a(4)="Wednesday"
a(5)="Thursday"
document.write(UBound(a))
document.write("")
document.write(LBound(a))
Output:
10
0
String Functions

InStr: Returns the position of the first occurrence of one string within another. The search begins at the first character of the string
InStrRev: Returns the position of the first occurrence of one string within
another. The search begins at the last character of the string
LCase: Converts a specified string to lowercase
Left: Returns a specified number of characters from the left side of a string
Len: Returns the number of characters in a string
LTrim: Removes spaces on the left side of a string
RTrim: Removes spaces on the right side of a string
Trim: Removes spaces on both the left and the right side of a string
Mid: Returns a specified number of characters from a string
Replace: Replaces a specified part of a string with another string a specified number of times
Right: Returns a specified number of characters from the right side of a string
Space: Returns a string that consists of a specified number of spaces
StrComp: Compares two strings and returns a value that represents the result of the comparison
String: Returns a string that contains a repeating character of a specified length
StrReverse: Reverses a string
UCase: Converts a specified string to uppercase Other Functions

Vb-Function:
CreateObject: Creates an object of a specified type
Eval: Evaluates an expression and returns the result
GetLocale: Returns the current locale ID
GetObject: Returns a reference to an automation object from a file
GetRef: Allows you to connect a VBScript procedure to a DHTML event on your pages
InputBox: Displays a dialog box, where the user can write some input and/or click on a button, and returns the contents
IsEmpty: Returns a Boolean value that indicates whether a specified variable has been initialized or not
IsNull: Returns a Boolean value that indicates whether a specified expression contains no valid data (Null)
IsNumeric: Returns a Boolean value that indicates whether a specified expression can be evaluated as a number
IsObject: Returns a Boolean value that indicates whether the specified expression is an automation object
LoadPicture: Returns a picture object. Available only on 32-bit platforms
MsgBox: Displays a message box, waits for the user to click a button, and returns a value that indicates which button the user clicked
RGB: Returns a number that represents an RGB color value
Round: Rounds a number
ScriptEngine: Returns the scripting language in use
ScriptEngineBuildVersion: Returns the build version number of the scripting engine in use
ScriptEngineMajorVersion: Returns the major version number of the scripting engine in use
ScriptEngineMinorVersion: Returns the minor version number of the scripting engine in use
SetLocale: Sets the locale ID and returns the previous locale ID
TypeName: Returns the sub type of a specified variable

VarType: Returns a value that indicates the subtype of a specified variable