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.