VBScript is eenscripttaal, ontwikkeld doorMicrosoft. De taal is een subset vanVisual Basic (VB). VBScript werd vooral aangewend doorsysteembeheerders die in de taal een krachtiger hulpmiddel vinden voor automatisering dan debatchbestanden die sinds de jaren 70 bestaan. Tegenwoordig is er een alternatief op de aloude opdrachtprompt:Powershell, dat standaard wordt meegeleverd sindsWindows 7.
VBScript kan worden gebruikt inActive Server Pages in een webomgeving. De code kan ook op zichzelf worden uitgevoerd op hetWindows-platform met behulp vanwscript.exe in een GUI-omgeving ofcscript.exe in een CLI-omgeving. Debroncode kan worden opgeslagen in deextensies ".vbs", ".vbe", ".wsf" en ".wsc" (Als component voor een script inXML-vorm). Ook is er de mogelijkheid om dewscript.exe-instellingen geautomatiseerd te veranderen met een ".wsh"-bestand. De taal kan ook gebruikt worden in de webbrowserInternet Explorer als cliënt-sided script en alternatief voorJavaScript. Ten slotte kan VBScript gebruikmaken vanWMI (Windows Management Instrumentation) enWQL (Windows Management Instrumentation Query Language). De laatste versie van VBScript is versie 6.
VBScript is eenscripttaal met een aantal beperkingen. Voor een deel kunnen die beperkingen worden opgelost door gebruik te maken van standaardActiveX-componenten. VBScript is bijvoorbeeld niet geschikt om metbinaire 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.
VBScript kent geen echtegegevenstypes, alle gegevenstypes zijn Variant. Daaronder zijn er wel subtypen gedefinieerd. Dat levert soms problemen op als VBScript communiceert met eenDLL die echte datatypes gebruikt.[1]
Vanaf versie 5 kunnenclasses worden gedefinieerd, maar vanobjectgeorië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 |
De eenvoudigste code voor een "Hello World"-bericht (op te slaan als.vbs-bestand en uit te voeren metcscript.exe ofwscript.exe):
MsgBox"Hello, World"
Uitgebreider voorbeeld datMsgBox als functie gebruikt, waarbij een waarde wordt geretourneerd, en het gebruik van drie parameters waaronder constantes voor de tweedeparameter:
Dimxx=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 |