Přeskočit na obsah

VBScript

Z Wikipedie, otevřené encyklopedie
VBScript
Paradigmastrukturovaný, imperativní, objektově orientovaný, odlehčený
Vznik1996
VývojářMicrosoft
Poslední verze5.812
Hlavní implementaceWindows Script Host,
Active Server Pages
Ovlivněn jazykyVisual Basic
Ovlivnil jazykyWindows PowerShell
OSWindows

VBScript (VBS, Visual Basic Scripting Edition) je skriptovací jazyk určený pro vkládání kódu do webových stránek a běžné skriptování ve WSH (interpreter skriptů nazývaný Windows Script Host, starším názvem Windows Scripting Host), založený na jazyce Visual Basic. Vznik jazyka je spolu se vznikem jazyka JScript (taktéž WSH a CScript – neplést s JavaScriptem) považován za odpověď firmy Microsoft na vznik jazyka JavaScript.

VBScript obsahuje každá instalace Microsoft Windows od verze Windows 98.[1] V systémech řady NT je přítomen od Windows NT 4.0 Option Pack. Nachází se též ve Windows 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 mezi hackery oblíbený pro psaní virů (např. W32.LoveLetter známý jako I Love You a mnoho dalších), mimo jiné proto, že malé skripty lze spouštět na většině současných verzí WindowsWSH a dokáže přes VBA API (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šťuje WMI. Na spuštění VBS je potřeba nainstalovaný WSH (Windows Script Host).

Ukázka kódu

[editovat | editovat zdroj]

Hello world

[editovat | editovat zdroj]

Tradiční program Hello 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.

Sub vypsatPoZnacich(text, zpozdeni)
    Set shell = createobject("wscript.shell")

    For i = 1 To Len(text)
        Wscript.Sleep zpozdeni
        shell.SendKeys Mid(text, i, 1)
    Next
End Sub

Volání procedury má podobu:

Call vypsatPoZnacich("Hello, World!", 250)

Převrácení textu

[editovat | editovat zdroj]

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.

Do
    opakovat = true
    text = InputBox("Zadej text k převrácení", "Převrátit text")

    If text = "" Then
        opakovat = false
    Else
        prevraceny = StrReverse(text)
        vystup = MsgBox(text & " = " & prevraceny, vbRetryCancel, "Převrácený text")
        If vystup = vbCancel Then opakovat = false
    End If
Loop While opakovat = true

Související články

[editovat | editovat zdroj]
  1. Windows Script Host Version Information [online]. Microsoft [cit. 2013-06-16]. Dostupné online.  (anglicky)

Externí odkazy

[editovat | editovat zdroj]