• Outlook User
  • New Outlook app
  • Outlook.com
  • Outlook Mac
  • Outlook & iCloud
  • Developer
  • Microsoft 365 Admin
    • Common Problems
    • Microsoft 365
    • Outlook BCM
    • Utilities & Addins

Using VBScript in Outlook Development

Slipstick Systems

› Developer › Outlookcode › Using VBScript in Outlook Development

Last reviewed on September 13, 2022     2 Comments

The code behind Microsoft Outlook forms is always written with the Microsoft Visual Basic Scripting Engine, better known as VBScript, a small portable language, which is also used in web pages and standalone scripts.

VBScript does not support the built-in Outlook constants, such as olFolderContact. Only the constants built into VBScript, such as vbYes, are supported. For Outlook constants, you must either make a Const declaration or use the constant's literal value. Look up any constant in the object browser: Press ALt+F11 to open the VBA environment in Outlook, then press F2.

Documentation
  • VBScript Language Reference
  • Visual Basic for Applications Features not in VBScript -- Format() is one of the VBA functions not supported in VBScript.
Debugging VBScript

The script debugger is not available in Outlook 2010 and newer. You will need to use MsgBox commands to debug scripts.

You can use the Microsoft Script Debugger to debug Outlook 2007 and older form scripts. You need to install the HTML Source Editing / Web Scripting / Web Debugging component listed under Office Tools when you do a custom setup or add components. One way to force a script to invoke the debugger is to put a Stop statement in the code. You can also open an item using a custom form, choose Tools | Forms | Script Debugger, and then set breakpoints. Custom form script debugging is not available on Windows Vista unless Visual Studio is also installed.

Advanced VBScript techniques

Scripting Runtime Library

Use the Scripting Runtime Library to access files and folders and perform some other useful coding tasks. You can also use it in VBA code.

  • FileSystemObject Basics -- Details on how to use the FileSystemObject to access files and folders in VBScript
  • Delete older emails with same subject line -- Uses a Dictionary object to hold the subject and sender name. Note that the For Each loop should be changed to a countdown loop. The sample is for VBA, but it uses the Scripting.Dictionary object, from the Scripting Runtime Library.

Regular expressions

Regular expressions provide a way for searching for patterns in text, such as for email addresses. Again, you can use these techniques in VBA, not just VBScript.

  • Introduction to Regular Expressions
  • Regular Expression Library

For VBA use, in Tools | References, add a reference to the Microsoft VBScript Regular Expressions 5.5 library. You can then use CreateObject("VBScript.RegExp") to return a RegExp object.

Windows Script Host

Windows Script Host (WSH) lets you run Visual Basic (or Java) script directly within Windows. For basics, see Windows Script Host.
If you have WSH installed, you can launch any other program (and most files) with VBScript code like this:

Set objWSHShell = CreateObject("WScript.Shell")
objWSHShell.Run("notepad.exe")

You can also access the Windows registry with WSH, something VBScript cannot do by itself. For more information and code samples, see:
Read and change a registry key using VBA
Clear SecureTempFolder automatically using VBA
Maintain Custom Settings Using the Windows Registry
RegRead method

Using VBScript in Outlook Development was last modified: September 13th, 2022 by OutlookCode

Related Posts:

  • All scripts in folders Outlook 2013
    Migrating custom forms to a new Outlook version
  • Use RegEx to extract text from an Outlook email message
  • Set Outlook Online or Offline using VBScript or PowerShell
  • Getting to know OOM, getting to know all about OOM

About OutlookCode

Subscribe
Notify of
2 Comments
newest
oldest most voted
Inline Feedbacks
View all comments

Hornblower409
September 12, 2022 11:48 pm

RE: Debugging VBScript

As best as I can tell, there has not been a VBScript debugger available since Office 2007 (see link below). I have personally verified that there is no "Office Tools, HTML Source Editing / Web Scripting / Web Debugging component" available in the Office 2010 install package.

https://social.msdn.microsoft.com/Forums/en-US/b58eaf49-61d3-4d92-9a2d-daa95d872d6c/how-do-debug-vbscript-in-outlook-2010-forms?forum=outlookdev

0
0
Reply
Diane Poremsky
Admin
Reply to  Hornblower409
September 13, 2022 1:03 am

Yeah... this was one of the pages we brought over from the now-defunct outlookcode.com web site. They all need updating.

0
0
Reply

Visit Slipstick Forums.
What's New at Slipstick.com

Latest EMO: Vol. 30 Issue 29

Subscribe to Exchange Messaging Outlook






Support Services

Do you need help setting up Outlook, moving your email to a new computer, migrating or configuring Office 365, or just need some one-on-one assistance?

Our Sponsors

CompanionLink
ReliefJet
  • Popular
  • Latest
  • Week Month All
  • Jetpack plugin with Stats module needs to be enabled.
  • Move Deleted Items to Another Folder Automatically
  • Open Outlook Templates using PowerShell
  • Count and List Folders in Classic Outlook
  • Google Workspace and Outlook with POP Mail
  • Import EML Files into New Outlook
  • Opening PST files in New Outlook
  • New Outlook: Show To, CC, BCC in Replies
  • Insert Word Document into Email using VBA
  • Delete Empty Folders using PowerShell
  • Warn Before Deleting a Contact
Ajax spinner

Recent Bugs List

Microsoft keeps a running list of issues affecting recently released updates at Fixes or workarounds for recent issues in classic Outlook (Windows).

For new Outlook for Windows: Fixes or workarounds for recent issues in new Outlook for Windows .

Outlook for Mac Recent issues: Fixes or workarounds for recent issues in Outlook for Mac

Outlook.com Recent issues: Fixes or workarounds for recent issues on Outlook.com

Office Update History

Update history for supported Office versions is at Update history for Office

Outlook Suggestions and Feedback

Outlook Feedback covers Outlook as an email client, including Outlook Android, iOS, Mac, and Windows clients, as well as the browser extension (PWA) and Outlook on the web.

Outlook (new) Feedback. Use this for feedback and suggestions for Outlook (new).

Use Outlook.com Feedback for suggestions or feedback about Outlook.com accounts.

Other Microsoft 365 applications and services




New Outlook Articles

Move Deleted Items to Another Folder Automatically

Open Outlook Templates using PowerShell

Count and List Folders in Classic Outlook

Google Workspace and Outlook with POP Mail

Import EML Files into New Outlook

Opening PST files in New Outlook

New Outlook: Show To, CC, BCC in Replies

Insert Word Document into Email using VBA

Delete Empty Folders using PowerShell

Warn Before Deleting a Contact

Newest Code Samples

Open Outlook Templates using PowerShell

Count and List Folders in Classic Outlook

Insert Word Document into Email using VBA

Warn Before Deleting a Contact

Use PowerShell to Delete Attachments

Remove RE:, FWD:, and Other Prefixes from Subject Line

Change the Mailing Address Using PowerShell

Categorize @Mentioned Messages

Send an Email When You Open Outlook

Delete Old Calendar Events using VBA

VBA Basics

How to use the VBA Editor

Work with open item or selected item

Working with All Items in a Folder or Selected Items

VBA and non-default Outlook Folders

Backup and save your Outlook VBA macros

Get text using Left, Right, Mid, Len, InStr

Using Arrays in Outlook macros

Use RegEx to extract message text

Paste clipboard contents

Windows Folder Picker

Custom Forms

Designing Microsoft Outlook Forms

Set a custom form as default

Developer Resources

Developer Resources

Developer Tools

VBOffice.net samples

SlovakTech.com

Outlook MVP David Lee

Repair PST

Convert an OST to PST

Repair damaged PST file

Repair large PST File

Remove password from PST

Merge Two Data Files

Sync & Share Outlook Data

  • Share Calendar & Contacts
  • Synchronize two computers
  • Sync Calendar and Contacts Using Outlook.com
  • Sync Outlook & Android Devices
  • Sync Google Calendar with Outlook
  • Access Folders in Other Users Mailboxes

Diane Poremsky [Outlook MVP]

Make a donation

Mail Tools

Sending and Retrieval Tools

Mass Mail Tools

Compose Tools

Duplicate Remover Tools

Mail Tools for Outlook

Online Services

Calendar Tools

Schedule Management

Calendar Printing Tools

Calendar Reminder Tools

Calendar Dates & Data

Time and Billing Tools

Meeting Productivity Tools

Duplicate Remover Tools

Productivity

Productivity Tools

Automatic Message Processing Tools

Special Function Automatic Processing Tools

Housekeeping and Message Management

Task Tools

Project and Business Management Tools

Choosing the Folder to Save a Sent Message In

Run Rules on messages after reading

Help & Suggestions

Submit Outlook Feature Requests

Slipstick Support Services

Buy Microsoft 365 Office Software and Services

Visit Slipstick Forums.

What's New at Slipstick.com

Home | Outlook User | Exchange Administrator | Office 365 | Outlook.com | Outlook Developer
Outlook for Mac | Common Problems | Utilities & Addins | Tutorials
Outlook & iCloud Issues | Outlook Apps
EMO Archives | About Slipstick | Slipstick Forums
Submit New or Updated Outlook and Exchange Server Utilities

Send comments using our Feedback page
Copyright © 2025 Slipstick Systems. All rights reserved.
Slipstick Systems is not affiliated with Microsoft Corporation.

:wpds_smile::wpds_grin::wpds_wink::wpds_mrgreen::wpds_neutral::wpds_twisted::wpds_arrow::wpds_shock::wpds_unamused::wpds_cool::wpds_evil::wpds_oops::wpds_razz::wpds_roll::wpds_cry::wpds_eek::wpds_lol::wpds_mad::wpds_sad::wpds_exclamation::wpds_question::wpds_idea::wpds_hmm::wpds_beg::wpds_whew::wpds_chuckle::wpds_silly::wpds_envy::wpds_shutmouth:
wpDiscuz

Sign up for Exchange Messaging Outlook

Our weekly Outlook & Exchange newsletter (bi-weekly during the summer)






Please note: If you subscribed to Exchange Messaging Outlook before August 2019, please re-subscribe.

Never see this message again.

You are going to send email to

Move Comment