Skladnia jezyka VBA

Transkrypt

Skladnia jezyka VBA
KOLEKCJE
Język VBA jest językiem obiektowym. Obiektami są komórki, zakresy, wiersze, kolumny,
arkusze, wykresy, skoroszyty, itd. Większość obiektów pogrupowana jest kolekcje których
nazwa odpowiada elementom kolekcji. Przykładowo wszystkie wiersze w arkuszu zawierają
się w kolekcji Rows, wszystkie kolumny w kolekcji Columns, wszystkie arkusze w kolekcji
Worksheets a komórki w kolekcji Cells.
Aby odwołać się do konkretnego elementu kolekcji, trzeba podać indeks tego elementu. Na
przykład polecenie
Rows(5).Select
powoduje zaznaczenie piątego wiersza w aktywnym arkuszu.
Niektóre kolekcje są indeksowane na kilka sposobów. Dobrym przykładem jest kolekcja
komórek Cells.
Indeks pojedynczy, np. liczba 80, oznacza komórkę leżącą na przecięciu kolumny ((80 1) mod liczba_kolumn )+1 i wiersza [80/liczba_kolumn]+1. Cells(80) oznacza komórkę A80.
Indeks podwójny zawiera w numer wiersza i numer kolumny, np. Cells(1,80).
Bardzo często używaną własnością jest ilość elementów w kolekcji. Do tego służy
właściwość Count, na przykład:
Rows.Count
Worksheets.Count
METODY
W podawanych do tej pory przykładach można było zauważyć pewną zgodność - najpierw
podawany był obiekt, którego ma dotyczyć polecenie (na przykład zakres Range("B4")), a na
końcu za znakiem kropki znajdowało się samo polecenie do wykonania (Select). Polecenie
wykonywane nazywa się metodą.
Większość metod może przyjąć dodatkowe parametry, precyzujące działanie metody.
Parametry podaje się za nazwą metody. Jeżeli metoda nie zwraca wyniku, lub wynik nie jest
przypisany żadnej zmiennej parametry metody podaje się za jej nazwą, po spacji, i oddziela
się je od siebie przecinkiem. Na przykład komenda
Worksheets.Add After:=Worksheets("Arkusz2"), Count:=3
doda trzy nowe arkusze za arkuszem “Arkusz2”.
W trakcie podawania argumentów edytor ‘podpowiada’, który parametr należy w danym
momencie podać, dzięki czemu można
ominąć nazwy argumentów podczas
ich podawania. Parametry, które w
podpowiedzi podane są w nawiasach
kwadratowych są parametrami nieobowiązkowymi, ich brak nie wpływa na poprawność
polecenia. W efekcie komenda może wyglądać następująco:
Worksheets.Add ,Worksheets("Arkusz2"), 3
lub jeżeli pominie się parametry jak poniżej:
Worksheets.Add
W miejscu niewykorzystanego
parametru stawia się przecinek,
dzięki czemu kompilator wie, który
parametr jest w podawany. Łatwo
to sprawdzić, ponieważ wprowadzany w danym momencie parametr jest w podpowiedzi
wytłuszczony.
Ponieważ kod w którym pomijane są nazwy parametrów traci na czytelności, warto tych nazw
używać. Po nazwie parametru stawia się znak ”:=” i dopiero potem wartość parametru.
UWAGA:
Jeżeli podanych jest kilka parametrów, i jeden parametr podany jest wraz z nazwą, wszystkie
parametry występujące po nim również muszą być podane z nazwami. Jeżeli podaje się
parametry wraz z ich nazwami nie ma potrzeby zachowania kolejności.
WŁAŚCIWOŚCI
Kolejnym elementem języka VBA są własności. Każdy z obiektów jest charakteryzowany
przez pewne cechy, które można sprawdzić, a część z nich można zmienić. Po dokładnym
sprecyzowaniu, o który obiekt chodzi, można sprawdzić jego cechy, na przykład wpisując w
oknie Immediate polecenie:
? Selection.RowHeight
zwracające jako wynik wysokość pierwszego wiersza z zaznaczonego zakresu.
Podobnie można zmienić właściwość przypisując jej konkretną wartość, na przykład
Selection.Interior.ColorIndex=33
Inaczej niż przy podawaniu parametrów metod, do zmiany właściwości używa się tylko znaku
„=”.
Właściwości również mogą mieć parametry informujące na przykład o tym, w jakiej postaci
wyświetlić wynik.
UWAGA:
Jeżeli metoda lub właściwość zwraca wynik przypisany następnie jakiejś zmiennej, lub tez na
wyniku jest wykonana jakaś operacja wszystkie parametry należy ująć w nawiasy.