Základní příkaz pro vyhodnocení podmínek je If .. Then .. Else. To už známe - byl použit v prvním díle.
Další možnost větvení je pro vícero hodnot. Select-Case
Příklad: Mějme vstupní test pro uchazeče o zaměstnání. Dejme tomu, že test má 5 úrovní hodnocení (A až E) a my máme zájem jen o první dvě. Zároveň chceme, aby ti, co mají hodnocení "B" absolvovali vstupní pohovor. Uchazeči s "A" budou přijati bez pohovoru.
Pomocí If .. Then:
Kód: Vybrat vše
znamka = Inputbox("Zadej výsledek testu", "Příklad")
If znamka = "A" Then WScript.Echo "Jste přijat!"
If znamka = "B" Then WScript.Echo "Domluvte si pohovor."
If (znamka <> "A") And (znamka <> "B") Then WScript.Echo "Je nám líto, neprošel jste."
Kód: Vybrat vše
znamka = Inputbox("Zadej výsledek testu", "Příklad")
Select Case znamka
Case "A"
WScript.Echo "Jste přijat!"
Case "B"
WScript.Echo "Domluvte si pohovor."
Case Else
WScript.Echo "Je nám líto, neprošel jste."
End Select
Všimněte si:
Operátoru And u podmínek If .. Then. Ten říká, že obě podmínky musí platit současně.
Cykly:
Používáme tam, kde je třeba několkrát opakovat sadu příkazů uvnitř cyklu. Cykly se můžou být:
- s pevným počtem opakování: For .. Next
- dokud kolekce (pole) obsahuje objekt (proměnnou): For .. Each .. In .. Next (použito u kolekce tiskáren ve druhém díle)
- dokud je splněna podmínka: Do .. While .. Loop
- dokud není splněna podmínka: Do .. Until .. Loop
Příklad For .. Next:
Kód: Vybrat vše
text = ". smyčka"
For i = 1 To 5 Step 1
vypis = vypis & i & text & vbCrLf
Next
WScript.Echo vypis
Všimněte si: Klíčové slovo Step umožňuje zadat krok. Pokud je krok o +1, není třeba toto slovo zadávat.
Příklad Do .. Until:
Kód: Vybrat vše
text = ". smyčka"
i = 1
Do Until i > 5
vypis = vypis & i & text & vbCrLf
i = i + 1
Loop
WScript.Echo vypis
Nač si dát pozor?
- nekonečná smyčka. Nejčastěji u Do .. Loop - špatně zvolená podmínka, která se nikdy nesplní. V tomto případě se nedá udělat nic jiného, než "sestřelit" interpreter wscript.exe pomocí správce úloh.
- počet opakování se liší - opět u Do .. Loop - je rozdíl, zda podmínka je uvedena na začátku cyklu Do Until .. Loop, nebo na konci cyklu Do .. Loop Until. V prvním případě, pokud je splněna podmínka, se příkazy v cyklu neprovedou vůbec. V druhém, pokud je splněna podmínka, se provedou 1x.
Příklad - vytvoření adresářové struktury: Potřebujeme vytvořit adresářovou strukturu pro ukládání důležitých souborů. Přičemž požadujeme, aby adresáře definovaly rok a měsíc. Zároveň kvůli řazení požadujeme, aby u prvních devíti měsíců byla doplněna nula. A požadujeme, aby tam, kde už je struktura vytvořena, skript nic nedělal.
Kód: Vybrat vše
Set fso = CreateObject("Scripting.FilesystemObject")
For i = 1 To 12
' vytvoreni nazvu slozky
Mesic = i
If Mesic < 10 Then Mesic = "0" & Mesic
cesta = "C:\testy\2021-" & Mesic & "\"
'WScript.Echo cesta
If (Not fso.FolderExists(cesta)) Then fso.CreateFolder(cesta)
Next
Set fso = Nothing
Všimněte si:
- Pro přístup k souborům a složkám je třeba definovat objekt Set fso = CreateObject("Scripting.FilesystemObject")
- Přidání nuly je řešeno pomocí If .. Then If Mesic < 10 Then Mesic = "0" & Mesic
- Podmínka na existenci složky - klíčové slovo Not. Říká, že pokud daná složka neexistuje, vytvoř ji. If (Not fso.FolderExists(cesta)) Then fso.CreateFolder(cesta)
Výsledek je pak tento:
Tím jsme si prošli méně zaživnými základy. V příštím díle se podíváme na metody přístupu k souborům a složkám a spouštění programů pomocí skriptu.
Ovládáme (nejen) windows pomocí visual basic script 1. díl
Ovládáme (nejen) windows pomocí visual basic script 2. díl
Ovládáme (nejen) windows pomocí visual basic script 3. díl
Ovládáme (nejen) windows pomocí visual basic script 4. díl
Ovládáme (nejen) windows pomocí visual basic script 5. díl
Ovládáme (nejen) windows pomocí visual basic script 6. díl