Paradigma | strukturovaný,imperativní,objektově orientovaný, odlehčený |
---|---|
Vznik | 1996 |
Vývojář | Microsoft |
Poslední verze | 5.812 |
Hlavní implementace | Windows Script Host, Active Server Pages |
Ovlivněn jazyky | Visual Basic |
Ovlivnil jazyky | Windows PowerShell |
OS | Windows |
VBScript (VBS,Visual Basic Scripting Edition) jeskriptovací jazyk určený pro vkládání kódu dowebových stránek a běžnéskriptování veWSH (interpreter skriptů nazývanýWindows Script Host, starším názvemWindows Scripting Host), založený na jazyceVisual Basic. Vznik jazyka je spolu se vznikem jazykaJScript (taktéž WSH aCScript – neplést s JavaScriptem) považován za odpověď firmyMicrosoft na vznik jazykaJavaScript.
VBScript obsahuje každá instalaceMicrosoft Windows od verzeWindows 98.[1]V systémech řadyNT je přítomen odWindows NT 4.0 Option Pack. Nachází se též veWindows CE (jen na některých zařízeních). Pro vykonávání skriptů na webových stránkách je nutnýInternet Explorer, jiné prohlížeče nejsou kompatibilní.
Jazyk VBS je mezihackery oblíbený pro psanívirů (např.W32.LoveLetter známý jakoI Love You a mnoho dalších), mimo jiné proto, že malé skripty lze spouštět na většině současných verzíWindows s WSH a dokáže přesVBAAPI (Aplikační rozhraníVisual Basic For Applications) přistupovat k velkému množství programů na počítači oběti a rozesílat se tak např. pomocíe-mailu jejím známým a vytahovat z počítače důvěrná data.
Jazyk VBS je dobře použitelný i v kladném smyslu. Např. v HTA (HTML Application). VBS je po JavaScriptu nejpoužívanější skriptovací jazyk hlavně díky podobnosti Visual Basicu a téměř neomezeným schopnostem, které zajišťujeWMI. Na spuštění VBS je potřeba nainstalovaný WSH (Windows Script Host).
Tradiční programHello world vypadá takto:
MsgBox"Hello, world!"
Metoda SendKeys vysílá sekvence znaků do aktivovaného okna (jako při psaní na klávesnici).SendKeys nemusí fungovat ve všech programech, některé vyžadují skutečné stisky kláves.
Procedura, která po znacích vypíše text, mezi jednotlivými znaky počká požadovaný počet milisekund.
SubvypsatPoZnacich(text,zpozdeni)Setshell=createobject("wscript.shell")Fori=1ToLen(text)Wscript.Sleepzpozdenishell.SendKeysMid(text,i,1)NextEndSub
Volání procedury má podobu:
CallvypsatPoZnacich("Hello, World!",250)
Následující program bude pomocí vstupního dialogu požadovat text k převrácení. Pokud uživatel dialog zruší, nebo odešle prázdný řetězec, program se ukončí, jinak bude v dalším dialogu zobrazen výsledek. Postup se bude opakovat, dokud bude uživatel chtít.
Doopakovat=truetext=InputBox("Zadej text k převrácení","Převrátit text")Iftext=""Thenopakovat=falseElseprevraceny=StrReverse(text)vystup=MsgBox(text&" = "&prevraceny,vbRetryCancel,"Převrácený text")Ifvystup=vbCancelThenopakovat=falseEndIfLoopWhileopakovat=true