Message Box Syntax
Int = MsgBox(prompt[,buttons][,title][,helpfile,context])
Message Box Responses / Button Values
1 = vbOK 2 = vbCancel 3 = vbAbort 4 = vbRetry 5 = vbIgnore 6 = vbYes 7 = vbNo
Message Box Types
0 = vbOKOnly 1 = vbOKCancel 2 = vbAbortRetryIgnore 3 = vbYesNoCancel 4 = vbYesNo 5 = vbRetryCancel 16 = vbCritical 32 = vbQuestion 48 = vbExclamation 64 = vbInformation ... and so on ...
Examples of Message Box
msgbox "First Line" &vbLf& "Second Line" msgbox "Message Spaced" &vbTab& "By a Tab"
Input Box
String = InputBox(String prompt, [String title], [String default], [Integer xpos], [Integer ypos], [String helpfile], [Integer context])
Examples of Input Box
Dim name
name = InputBox("What is your name?", "Title", "...enter your name here...")
Declare Variable
Dim var_a, var_b, var_c
Debugging
Option Explicit On Error Resume Next
Comparison Operators
= <> < > <= >=
Logical Operators
And Or Not Xor (Not + Or)
Concatenation Operators
+ &
Arithmetic Operators
+ - * / % (Remainder of Division) ^ (Exponentiation)
Comment Operator
' this line will not be executed
Conditional IF
If var_a=1 Then msgbox "One", vbInformational
If var=1 Then msgbox "One." ElseIf var=2 Or var=3 Then msgbox "Two or Three." Else msgbox "Not One, Two, or Three." End If
Select Case
Select Case var Case "1" MsgBox "Banana" Case "2" MsgBox "Orange" End Select
Do Loop
Do MsgBox "Infinite Looping" Loop
Ending a Do Loop
Exit Do
Do Loop Until / While / For
Do Until a = 10 MsgBox "Infinite Looping" i = a + 1 Loop
Do MsgBox "Infinite Looping" i = a + 1 Loop Until a = 10
Do While a <= 10 MsgBox "Infinite Looping" i = a + 1 Loop
For i = 1 to 10 MsgBox i Next
For Each i In array MsgBox i Next
Creating Objects
Set obj = CreateObject("wscript.shell")
obj.run "cmd.exe"
obj.sendkeys "exit"
obj.sendkeys "{ENTER}"
obj.sendkeys "(% )(N)" ' types Alt+Space then N to minimize the window
Executing Shell Commands
CreateObject("wscript.shell").run "calc.exe"
CreateObject("wscript.shell").run "c:\file.txt"
CreateObject("wscript.shell").run "c:\folder\"
CreateObject("wscript.shell").run """c:\folder with space\"""
CreateObject("wscript.shell").run "c:\users\%username%\Desktop"
getPath = CreateObject("wscript.shell").specialFolders("Desktop")
Special Folders List
AllUsersDesktop AllUsersStartMenu AllUsersPrograms AllUsersStartup Desktop Favorites Fonts MyDocuments NetHood PrintHood Programs Recent SendTo StartMenu Startup Templates
Executing Internet Explorer Commands
CreateObject("InternetExplorer.Application").navigate "https://myip.com"
CreateObject("InternetExplorer.Application").visible = True
CreateObject("InternetExplorer.Application").statusbar = False
CreateObject("InternetExplorer.Application").toolbar = False
CreateObject("InternetExplorer.Application").width = 1024
CreateObject("InternetExplorer.Application").height = 768
CreateObject("InternetExplorer.Application").top = 0
CreateObject("InternetExplorer.Application").left = 0
CreateObject("InternetExplorer.Application").resizable = False
CreateObject("InternetExplorer.Application").fullscreen = 1
Do While CreateObject("InternetExplorer.Application").busy
WScript.Sleep 500
Loop
CreateObject("InternetExplorer.Application").document.all.item("user").value = "username"
CreateObject("InternetExplorer.Application").document.all.item("pass").value = "password"
CreateObject("InternetExplorer.Application").document.all.item("form").submit
File System Commands
CreateObject("Scripting.FileSystemObject").fileExists("image.jpg")
CreateObject("Scripting.FileSystemObject").folderExists("c:\users")
CreateObject("Scripting.FileSystemObject").copyFile "c:\origin\*.zip", "c:\destiny\"
CreateObject("Scripting.FileSystemObject").moveFolder "c:\origin\", "c:\destiny\"
CreateObject("Scripting.FileSystemObject").moveFile "c:\dir\file.zip", "c:\dir\renamed.zip"
CreateObject("Scripting.FileSystemObject").fileExists("c:\dir\file.zip")
CreateObject("Scripting.FileSystemObject").createTextFile "c:\dir\file.txt"
CreateObject("Scripting.FileSystemObject").createFolder "c:\dir\"
CreateObject("Scripting.FileSystemObject").deleteFolder "c:\dir\"
Manipulating Files
Dim file, file2
Const Read = 1, Write = 2, Append = 8
Set file = CreateObject("Scripting.FileSystemObject").openTextFile("c:\dir\file.txt", Read)
file.Read(5)
file.ReadLine
file.ReadAll
file.AtEndOfStream
file.Close
Set file2 = CreateObject("Scripting.FileSystemObject").openTextFile("c:\dir\file.txt", Write)
file2.Write "string"
file2.WriteLine
file2.WriteBlankLines(3)
file2.Close
Set file3 = CreateObject("Scripting.FileSystemObject").getFile("c:\dir\file.txt")
file3.size
file3.type
file3.path
file3.drive
file3.attributes
file3.attributes = file3.attributes + 1
file3.dateCreated
File Attributes
1 = Read Only 2 = Hidden 4 = System 32 = Archive
WScript Commands
WScript.Quit WScript.Sleep 500 WScript.ScriptName WScript.ScriptFullName WScript.CurrentDirectory
Commands
Boolean = IsNumeric(var)
Int = Len(var)
String = Right(var, 5)
String = Left(var, 5)
Replace("Hello All!", "All", "You")
Mid("Hello All!", 7, 3)
Array = Split("Hello All!", " ")
Int = InStr("Hello All!", "All")
IsEmpty(var)
IsNumeric(var)
IsObject(var)
IsNull(var)
IsDate(var)
IsArray(var)
VarType(var)
TypeName(var)
LCase(var)
UCase(var)
Trim(var)
LTrim(var)
RTrim(var)
IsInArray(array, "A")
Abs(-10)
Int(1.7)
CInt("30")
Round(1.7)
FormatNumber(999999999, 2)
FormatCurrency(999999999, 2)
FormatPercent(0.99, 2)
FormatDateTime("31-12-2000", vbGeneralDate)
FormatDateTime("31-12-2000", vbLongDate)
FormatDateTime(Time(), vbLongTime)
Space(15)
String(20,"-")
StrReverse("123456789")
Subroutines
Sub subName(var)
MsgBox var
End Sub
Call subName("Hello!")
With Command
With CreateObject("wscript.shell")
.run "calc.exe"
End With
Functions
Function funcName(var1, var2) Dim sum sum = var1 + var2 funcName = sum End Function
Arguments Through Command Prompt
Dim args, arg Set args = WScript.Arguments For Each arg in args MsgBox arg Next
Arrays
array1 = Array(0,1,2,3,4,5,6,7,8,9)
array2 = Array("a","1","abc","y z")
array3(0) = 31
array3(1) = 12
array3(2) = 2000
join = Join(array3, "/") ' returns 31/12/2000
For i = LBound(array1) To UBound(array1)
MsgBox array1(i)
Next
arrayFiltered = Filter(array2, "a") ' returns only fields containing "a"
Classes
Class className Private var1 Public var2 Dim var3 Sub Class_Initialize() ' runs automatically when the class is initialized End Sub Private Sub Class_Terminate() ' runs automatically when the class is terminated End Sub Property Let var var1 = var End Property Property Get var var = var1 End Property Function getAbs getAbs = abs(var1) End Function End Class Set num = New className num.var = -123 MsgBox num.getAbs
Manipulating the Windows Registry
Set obj = CreateObject("WScript.Shell")
MsgBox obj.RegRead("HKEY_Current_User\Control Panel\Desktop\Wallpaper")
MsgBox obj.RegWrite("HKCU\Control Panel\Desktop\Wallpaper", "c:\dir\image.jpg")
MsgBox obj.RegDelete("HKEY_Current_User\Control Panel\Desktop\Wallpaper")
Regular Expressions
Dim str str = "Is your name Bob?" Set name = New RegExp name.Pattern = "Bob" name.IgnoreCase = True ' default is False name.Global = True ' default is False If name.Test(str) Then String = name.Replace(str, "John") Else MsgBox "Bob not found in the original string" End If numOfMatches = name.Execute(str).Count valueOfTheMatch = name.Execute(str).Item(0).Value valueOfTheSubmatch = name.Execute(str).Item(0).Submatches(1)
Environmental Variables
Dim env
Set env = CreateObject("WScript.Shell")
tempFolder = env.Environment("User").Item("TEMP")
fullPath = env.ExpandEnvironmentStrings(tempFolder)
fullPath = env.ExpandEnvironmentStrings("%temp%")
env.Environment("User").Item("newVariable") = 999
MsgBox env.Environment("User").Item("newVariable")
env.Environment("User").Remove("newVariable")