VBScript Quick Reference
DISPLAY TO STANDARD OUTPUT
Wscript.Echo Display this text
DISPLAY TO MESSAGE BOX
MsgBox(Prompt, vbOKCancel, Title)
DISPLAY TO POPUP DIALOG BOX
WshShell.Popup(Message, 5, Title, 1)
5: number of seconds to display popup box
1: displays the OK and Cancel buttons
VBScript Quick Reference
HTA SECTION
<head>
<title>HTA Test</title>
<HTA:APPLICATION
APPLICATIONNAME="HTA Test"
SCROLL="yes" SINGLEINSTANCE="yes"
WINDOWSTATE="maximize" >
</head>
</head>
<script language="VBScript>
Sub window_OnLoad
' Script to run on startup
End Sub
Sub TestSub
' Script code goes here
End Sub
</script>
<body> <input type="button"
value="Run Script"
name="run_button"
onClick="TestSub">
</body>
Set objFSO = CreateObject _
("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
("c:\scripts\servers.txt", ForReading)
Set objFSO = CreateObject _
("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
("c:\scripts\servers.txt", ForWriting)
Option Explicit
CHECK FOR AN ERROR
CLEAR THE ERROR CACHE
If Err.Number Then
an error occurred
End If
Err.Clear
(execute this statement each
time you check the Err object)
COMPUTER VARIABLE (local computer)
strComputer = .
CONNECT TO WMI
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
QUERY: RETRIEVE ALL PROCESSES
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process")
")
QUERY: RETRIEVE ALL SERVICES
COMPUTER VARIABLE (local computer)
strComputer = localhost
CREATE DICTONARY OBJECT
Const ForWriting = 2
On Error Resume Next
Set colServiceList = objWMIService.ExecQuery("Select * from Win32_Service")
Const ForReading = 1
OPEN TEXT FILE FOR WRITING
FORCE VARIABLE DECLARATION
SCRIPT SECTION
HTML SECTION
OPEN TEXT FILE FOR READING
IGNORE RUNTIME ERRORS
Set objDictionary = _
CreateObject("Scripting.Dictionary")
RETRIEVE AN OU
Set objOU = GetObject("LDAP://ou=finance,dc=fabrikam,dc=com")
RETRIEVE A USER ACCOUNT
POPULATE DICTIONARY OBJECT
objDictionary.Add key, item
Set objUser = GetObject("LDAP://cn=ken myer, ou=Finance, dc=fabrikam, dc=com")
BIND TO THE LOCAL COMPUTER
Set colAccounts = GetObject("WinNT://" & strComputer)
VBScript Quick Reference
VBScript Quick Reference
LOOPS
CONDITIONAL STATEMENTS
On Error Resume Next
Const ADS_SCOPE_ONELEVEL = 1
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_ONELEVEL
objCommand.CommandText = _
"SELECT Name FROM 'LDAP://OU=finance,dc=fabrikam,dc=com'
Set objRecordSet = objCommand.Execute
Learn more about scripting
from the Microsoft Windows
2000 Scripting Guide,
available online (and yes,
despite the title most of the
concepts apply to later
versions of Windows too):
http://www.microsoft.com
/technet/scriptcenter/guide
EXCEL
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add
If Then
Select Case
If x = 4 Then
ElseIf x = 5
Then
Else
...
End If
Select Case x
Case 1
...
Case 2
...
Case Else
End Select
For Loops
Do Loops
For Each x in arr
...
Next
Do Until x > 5
...
Loop
For i = 1 to 10
...
Next
Do While x < 5
...
Loop
While Loops
Do
...
Loop Until x > 5
While x < 5
Wend
Do
...
Loop While x < 5
ARRAYS
arrItems =
Array("a","b","c")
Dim arr(2)
arr(0) = 20
arr(1) = 30
ReDim Preserve arr(3)
arr(2) = 40
FUNCTIONS AND SUBROUTINES
Function
Subroutine
Function TestFunc
TestFunc = 10
End Function
Sub TestSub
End Sub
WORD
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Open("c:\scripts\test.doc")
ACCESS
Set objAccess = CreateObject("Access.Application")
objAccess.OpenCurrentDatabase "C:\Scripts\Test.mdb"
OUTLOOK
OUTLOOK
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
SEND OUTPUT TO COMMAND WINDOW
C:\> cscript test.vbs
SEND OUTPUT TO MESSAGE BOX
C:\> wscript test.vbs
SET DEFAULT TO CSCRIPT
C:\> cscript //H:cscript
SET DEFAULT TO WSCRIPT
C:\> cscript //H:wscript