VBScript

VBScript is een scripttaal, ontwikkeld door Microsoft. De taal is een subset van Visual Basic (VB). VBScript werd vooral aangewend door systeembeheerders die in de taal een krachtiger hulpmiddel vinden voor automatisering dan de batchbestanden die sinds de jaren 70 bestaan. Tegenwoordig is er een alternatief op de aloude opdrachtprompt: Powershell, dat standaard wordt meegeleverd sinds Windows 7.

VBScript kan worden gebruikt in Active Server Pages in een webomgeving. De code kan ook op zichzelf worden uitgevoerd op het Windows-platform met behulp van wscript.exe in een GUI-omgeving of cscript.exe in een CLI-omgeving. De broncode kan worden opgeslagen in de extensies ".vbs", ".vbe", ".wsf" en ".wsc" (Als component voor een script in XML-vorm). Ook is er de mogelijkheid om de wscript.exe-instellingen geautomatiseerd te veranderen met een ".wsh"-bestand. De taal kan ook gebruikt worden in de webbrowser Internet Explorer als cliënt-sided script en alternatief voor JavaScript. Ten slotte kan VBScript gebruikmaken van WMI (Windows Management Instrumentation) en WQL (Windows Management Instrumentation Query Language). De laatste versie van VBScript is versie 6.

Mogelijkheden en beperkingen

VBScript is een scripttaal met een aantal beperkingen. Voor een deel kunnen die beperkingen worden opgelost door gebruik te maken van standaard ActiveX-componenten. VBScript is bijvoorbeeld niet geschikt om met binaire bestanden (ter onderscheid van tekstbestanden) te werken. Door gebruik te maken van de ADODB.Stream, ADODB.Recordset en Microsoft.XMLDOM-componenten is echter bijna alles mogelijk.

Gegevenstypes in VBScript

VBScript kent geen echte gegevenstypes, alle gegevenstypes zijn Variant. Daaronder zijn er wel subtypen gedefinieerd. Dat levert soms problemen op als VBScript communiceert met een DLL die echte datatypes gebruikt.[1]

Vanaf versie 5 kunnen classes worden gedefinieerd, maar van objectgeoriënteerd programmeren is geen sprake.

Constante Waarde Engelse omschrijving
vbEmpty 0 Empty (uninitialized)
vbNull 1 Null (no valid data)
vbInteger 2 Integer
vbLong 3 Long integer
vbSingle 4 Single-precision floating-point number
vbDouble 5 Double-precision floating-point number
vbCurrency 6 Currency
vbDate 7 Date
vbString 8 String
vbObject 9 Automation object
vbError 10 Error
vbBoolean 11 Boolean
vbVariant 12 Variant (used only with arrays of Variants)
vbDataObject 13 A data-access object
vbByte 17 Byte
vbArray 8192 Array

Hello world

De eenvoudigste code voor een "Hello World"-bericht (op te slaan als .vbs-bestand en uit te voeren met cscript.exe of wscript.exe):

MsgBox "Hello, World"

Uitgebreider voorbeeld dat MsgBox als functie gebruikt, waarbij een waarde wordt geretourneerd, en het gebruik van drie parameters waaronder constantes voor de tweede parameter:

Dim x
x = MsgBox("Het bericht", vbYesNoCancel + vbInformation, "De titel")

Constanten voor berichttypes:

Constante Waarde Engelse omschrijving Icon
vbCritical 16 Critical message Rode cirkel met kruis
vbQuestion 32 Warning query Blauwe cirkel met vraagteken
vbExclamation 48 Warning message Gele driehoek met uitroepteken
vbInformation 64 Information message Blauwe cirkel met uitroepteken

Constanten voor knoppen:

Constante Waarde Knoppen
vbOKOnly 0 OK (default)
vbOKCancel 1 OK en Annuleren
vbAbortRetryIgnore 2 Stoppen, Opnieuw en Negeren
vbYesNoCancel 3 Ja, Nee en Annuleren
vbYesNo 4 Ja en Nee
vbRetryCancel 5 Opnieuw en Annuleren
  • (en) VBScript op MSDN