VBScript

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í.

Použití

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í Windows s WSH 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

Hello world

Tradiční program Hello world vypadá takto:

MsgBox "Hello, world!"

SendKeys

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

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

Reference

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

Externí odkazy

  • Logo Wikimedia Commons Obrázky, zvuky či videa k tématu VBScript na Wikimedia Commons
  • w3c – funkce VBScriptu
Programovací jazyky
abecední seznam programovacích jazyků
multiparadigmatické
Ada • C++Common Lisp • D • F# • Go • Oberon • PerlPHPPythonRuby • Rust • Scala • Swift • Tcl (Tk) • Vala
strukturované (procedurální)
AWK • C • COBOLDCL • Forth • FortranLuaModula-2 / Modula-3 • Pascal • PawnPL/SQL
objektové
BETA • Boo • C# • Eiffel • Java (Groovy, Kotlin) • JavaScriptObject PascalObjective-CSmalltalkVB.NET
funkcionální
Clean • Ceylon • Erlang • Haskell • J • LispWolfram Language / Mathematica • Miranda • OCamlScheme
dotazovací
LINQSPARQLSQLXQueryXSL (XSLTXSL-FOXPath)
logické
Gödel • Prolog
výukové
Baltazar • Baltík • Karel • Kodu Game Lab • Logo • Microsoft Small Basic • Petr • Scratch
ezoterické
BefungeBrainfuckHQ9+MalbolgeOok!PietWhitespace
historické
ALGOL • APL • B • BASICCPL (BCPL) • J • MUMPSPL/ISimula 67SNOBOL
další
ABAPAppleScriptColdFusionJSA • Julia • MATLAB • R • Visual Basic (VBScript) • VimscriptVisual FoxPro
skriptovací/strojový kódkompilované/interpretované • interaktivní/dávkovéWYSIWYG
Autoritní data Editovat na Wikidatech
  • NKC: ph135674
  • LCCN: sh96007390
  • NLI: 987007558726505171