Kontynuując opis języka VBScript chciałbym spojrzeć na wybrane podobieństwa i różnice pomiędzy tym językiem a VBA.
Zacznijmy może od zasadniczej różnicy- VBS nie działa w zamkniętym środowisku powiązanym z określoną aplikacją. Obszarem jego funkcjonowania jest, w naszym przypadku, system Windows, a podstawowym edytorem będzie zapewne zwykły notatnik. Pliki z kodem VBS są plikami tekstowymi, wykonywalnymi (z rozszerzeniem VBS). Język jest na tyle uniwersalny, że działa w środowisku Windows XP, Windows 7 czy też Windows 8.
Warto też zwrócić uwagę na wybrane cechy języka VBS, a w szczególności: problem ze stosowaniem polskich liter w nazwach własnych, brak profesjonalnego edytora, który ułatwiałby edycję kodu, dowolność stosowania wielkich i małych liter w procesie edycji skryptu.
A teraz zwróćmy uwagę na podobieństwa:
1. Każdy plik VBS tworzy niejako procedurę główną w ramach której mogą funkcjonować opcjonalnie podprogramy (
Sub...End Sub) oraz funkcje (
Function...End Function). Obie struktury wywołujemy zgodnie z technikami obowiązującymi w VBA.
2. Zmienne deklarujemy tymi samymi instrukcjami jak w języku VBA:
Dim, Public, Private. Co ważne, nie deklarujemy typu zmiennej choć w procesie kompilacji każda zmienna jest przypisywana do określonego typu jaki znamy z VBA (
Integer, Long, String, itp). Deklaracja zmiennych nie jest obowiązkowa, chyba że zastosujemy polecenie
Option Explicit.
3. Możemy tworzyć tablice korzystając z funkcji
Array oraz tablice dynamiczne. Funkcja
ReDim funkcjonuje wg standardów znanych ze środowiska VBA.
4. Do dyspozycji mamy dziesiątki funkcji matematycznych, konwersji typów zmiennych, konwersji tekstu, daty, itp. W zdecydowanej większości są to funkcje znane ze środowiska VBA.
5. Istnieje możliwość stworzenia referencji do bibliotek innych aplikacji i wykonywanie operacji na strukturze obiektowej danej aplikacji. Do punktu tego zaliczę więc interakcję z aplikacjami pakietu Microsoft Office, możliwość zarządzania plikami dzięki bibliotece Microsoft Scripting Runtime, itp.
6. Do dyspozycji mamy kilka rodzai pętli (
For...Next, For Each...Next, Do...Loop), instrukcje warunkowe (
If...End If, Select Case...End Select).
7. W zakresie zaawansowanych technik możemy wykorzystać własne klasy, technikę pracy z wyrażeniami regularnymi RegEx czy też słownikiem Dictionary.
Wszystkich zainteresowanych szerszym zastosowaniem języka VBScript, w tym składnią oraz zestawem instrukcji i funkcji odsyłam do szeregu informacji znajdujących się w sieci. W szczególności zaś polecam następujące linki:
VBScript by MSDN
Microsoft Script Center
W następnym artykule zaprezentuję technikę, która pozwala na wywołanie
makra stworzonego w VBA z poziomu języka VBScript. Dodatkowo działanie
to wyzwolimy z poziomu Menadżera Zadań systemu Windows.
Na koniec chciałbym zademonstrować zestaw przykładowych instrukcji i działań jakie można wykonać z pomocą języka VBScript. Poniższy kod w całości proszę skopiować i zapisać w dowolnym pliku tekstowym z rozszerzeniem VBS. Następnie proszę uruchomić utworzony plik.
03 | msgbox "Witam w przykładowym skrypcie VBScript" |
07 | Test = 1/2 * (a+b) * h |
11 | sub Obliczenie_Pole_trapezu |
18 | c = inputbox( "Podaj wysokość trapeza dla podstawy 2 i 2" ) |
25 | sub Praca_z_tekstem(Tekst) |
26 | msgbox "Tekst z wielkiej litery: " & ucase(tekst) |
32 | obliczenie_pole_trapezu |
34 | praca_z_tekstem "to jest tekst przykładowy" |
44 | MsgBox Tbl(0) & " " & Tbl(1) |
50 | txt = txt & chr(10) & i |