VBScript

使用范围

由于VBScript可以通过Windows脚本宿主调用COM，因而可以使用Windows操作系统中可以被使用的程序库，比如它可以使用Microsoft Office的库，尤其是使用Microsoft Access和Microsoft SQL Server的程序库，当然它也可以使用其它程序和操作系统本身的库。在实践中VBScript一般被用在以下三个方面：

Windows操作系统

VBScript可以被用来自动地完成重复性的Windows操作系统任务。在Windows操作系统中，VBScript可以在Windows Script Host的范围内运行。Windows操作系统可以自动辨认和执行*.VBS和*.WSF两种文件格式，此外Internet Explorer可以执行HTA和CHM文件格式。VBS和WSF文件完全是文字式的，它们只能通过少数几种对话窗口与用户通讯。HTA和CHM文件使用HTML格式，它们的程序码可以像HTML一样被编辑和检查。在WSF、HTA和CHM文件中VBScript和JavaScript的程序码可以任意混合。HTA文件实际上是加有VBS、JavaScript成分的HTML文件。CHM文件是一种在线帮助，用户可以使用专门的编辑程序将HTML程序编辑为CHM。
Windows 操作系统也提供一些VBScript 脚本来进行高级管理功能，例如管理Windows 激活密钥的slmgr.vbs（Windows Server License Manager Script）。

网页浏览器（客户端的VBS）

网页中的VBS可以用来控制客户端的网页浏览器（以浏览器执行VBS程序）。VBS与JavaScript在这一方面是竞争者，它们可以用来实现动态HTML，甚至可以将整个程序结合到网页中来。
至今为止VBS在客户方面未能占优势，因为它只获得Microsoft Internet Explorer的支持（Mozilla Suite可以透过安装一个包来支持VBS），并且IE11起已不再支持VBScript。而JavaScript则受到所有网页浏览器的支持。在Internet Explorer中VBS和JavaScript使用同样的权限，它们只能有限地使用Windows操作系统中的对象。

网页服务器（服务器方面的VBS）

在网页服务器方面VBS是微软的Active Server Pages的一部分，它与JavaServer Pages和PHP是竞争对手。在这里VBS的程序码直接嵌入到HTML页内，这样的网页以ASP结尾。网页服务器Internet信息服务执行ASP页内的程序部分并将其结果转化为HTML传递给网页浏览器供用户使用。这样服务器可以进行数据库闻讯并将其结果放到HTML网页中。

Hello World

最简单的例子：
MsgBox "Hello World"
以.vbs文件保存。再使用cscript.exe或wscript.exe执行。
一个更复杂的例子中，示出了使用MsgBox作为函数（返回一个结果），并使用了三个参数，其中第二个参数使用的是常量。
Dim x' These three produce the same result. However, the use of constants as in the third line ' is considered best practice.x = MsgBox("Hello World:Text",1+64+4096,"Hello World:Title")x = MsgBox("Hello World:Text",4161,"Hello World:Title")x = MsgBox("Hello World:Text", vbOKCancel+vbInformation+vbSystemModal, _
           "Hello World:Title")' Presents the number corresponding to the button pressed. Different constants will produce ' different behaviours. For example, vbOKCancel specifies two buttons in the dialogue box, ' whereas vbYesNoCancel specifies three.x = MsgBox("Hello World:Text", vbYesNoCancel+vbInformation,"Hello World:Title")MsgBox "The result is " & x

终止任务

VBScript能访问Windows管理规范 (WMI)，就像Windows任务管理器。以下的代码执行时将会终止（“杀掉”）任何关于notepad.exe的进程。
'Terminate all processes involving the name <strProcessToKill>Option ExplicitDim strComputer, strProcessToKill, objWMIService, colProcess, objProcessstrComputer = "."strProcessToKill = "notepad.exe"Set objWMIService = GetObject("winmgmts:" _ 
   & "{impersonationLevel=impersonate}!\\" _ 
   & strComputer _ 
   & "\root\cimv2") 
Set colProcess = objWMIService.ExecQuery _
   ("Select * from Win32_Process Where Name = '" & strProcessToKill & "'")For Each objProcess in colProcess
   MsgBox "... terminating " & objProcess.Name
   objProcess.Terminate()Next
使用Option Explicit并不是必须的，但它被认为是VBScript的最佳实践。

创建具有唯一的名称的十个文件

这个实例显示如何创建文件并向它添加内容。它还演示了字符串连接。
For i = 1 to 10
createFile( i )NextPublic sub createFile(a)

Dim fso,myFile
filePath = "C:\file_name" & a & ".txt"
Set fso=CreateObject("Scripting.FileSystemObject")
Set MyFile= fso.CreateTextFile( filePath)
MyFile.WriteLine("This is a separate file")
MyFile.closeEnd Sub

发送按键

SendKeys方法模拟一个或多个按键到活动窗口（模拟在键盘上输入）。 在该示例中，脚本发送字符串“Hello World！”3次，每次暂停2秒（2000毫秒）。SendKeys宏可能会在某些程序中失效，因为一些软件（如在安装时输入许可证密钥）将检查是否是真正的按键，而不是虚拟的。
set shl = createobject("wscript.shell")shl.sendkeys "Hello World!"wscript.sleep 2000shl.sendkeys "Hello World!"wscript.sleep 2000shl.sendkeys "Hello World!"wscript.sleep 2000
执行期间，“Hello World!”将显示在命令提示符。

Windows文件操作

对象FileSystemObject执行一些文件操作（例如测试一个文件是否存在），并且还创建一个文本文件（一个TextStream对象）。
myfilename = "C:\Wikipedia - VBScript - Example - Hello World.txt"MakeHelloWorldFile myfilenameSub MakeHelloWorldFile (FileName)'Create a new file in C: drive or overwrite existing file
   Set FSO = CreateObject("Scripting.FileSystemObject")
   If FSO.FileExists(FileName) Then 
      Answer = MsgBox ("File " & FileName & " exists ... OK to overwrite?", vbOKCancel)
      'If button selected is not OK, then quit now
      'vbOK is a language constant
      If Answer <> vbOK Then Exit Sub
   Else
      'Confirm OK to create
      Answer = MsgBox ("File " & FileName & " ... OK to create?", vbOKCancel)
      If Answer <> vbOK Then Exit Sub
   End If
   'Create new file (or replace an existing file)
   Set FileObject = FSO.CreateTextFile (FileName)
   FileObject.WriteLine "Time ... " & Now()
   FileObject.WriteLine "Hello World"
   FileObject.Close()
   MsgBox "File " & FileName & " ... updated."End Sub
MakeHelloWorldFile将会在按下按钮后于C:\ 驱动器根目录创建（若已经存在则更新）一个小文本文件。

Excel对象操作

Option Explicit '所有变量必须显式声明Dim app,workbook,sheetDim row,colSet app = WScript.CreateObject("Excel.Application")app.Visible = TrueSet workbook = app.WorkBooks.AddSet sheet = workbook.Worksheets(1)'10x10 random valueFor row = 1 To 10
  For col = 1 To 10
    sheet.Cells(row,col).Value = CInt(Int((100 * Rnd()) + 1))
  NextNextSet sheet = workbook.Worksheets(2)'10x10 random valuesheet.Range("A1:J10").Formula = "=Int(Rand() * 100 + 1)"

不能为变量定义类型

在VB中，为变量定义类型使用Dim变量名As类型
但是在VBScript中这样写是错误的，VBScript中的变量都是弱类型（即Variant变体），因此它不需要指定其类型。只能使用Dim变量名，解释器会自动根据赋值的类型定义变量类型。

不能使用条件编译

在VB中，可以使用#If…Then、#ElseIf…Then、#Else、#End If、#Const… = …等语句定义编译时使用的语句
而由于VBScript不需要编译即可被WSH（Windows Script Host）直接解释执行，所以并不需要条件编译语句。

安全性

微软决定Outlook和Outlook Express中的HTML邮件可以使用VBScript后出现了许多利用Windows Script Host和ActiveX的功能的电脑病毒。这些病毒之所以能够传播开来也是因为一开始这些系统功能完全未受保护。虽然VBScript和JavaScript使用同样的使用操作系统的功能的安全措施，今天呼唤这些功能被看作不匹配标准。
一般很难保护VBScript的程序码不被用户看到。