Procedury: podprogramy i funkcje
Transkrypt
Procedury: podprogramy i funkcje
(C) 2005 RoG@j 2005-02-20 Procedury: podprogramy i funkcje Tworzenie funkcji Parametryzacja MsgBox InputBox Funkcja jak podprogram wykonuje instrukcje kodu, a jaj zadaniem jest zwrot wartości do procedury, która ją wywołała Function Iloczyn (X As Integer, Y As Integer) Iloczyn = X * Y End Function ! X i Y są parametrami funkcji, liczbami całkowitymi ! Różnice funkcja-podprogram Parametry i argumenty W funkcji przynajmniej jedna instrukcja definiuje wartość funkcji ! Aby funkcja mogła zwrócić wartość wartość ta musi zostać przypisana do nazwy funkcji ! Aby wywołać funkcję do zmiennej przypisuje się nazwę funkcji (ściśle: przypisywana jest wartość zwracana przez funkcję) Wynik = Iloczyn(3, 4) ! Zalety parametryzacji Wywołania procedur ! ! ! ! VBA04 Tworzenie funkcji Jeżeli procedura posiada parametry, to podczas czytania jej kodu widać, jakich wartości trzeba jej dostarczyć Parametry pozwalają zmniejszyć liczbę zmiennych deklarowanych poza procedurą w sekcji deklaracji modułu Przy wywołaniu procedury VBA „zmusza” nas do dostarczenia parametrów (danych) ! ! ! ! Jeśli sposób działania procedury ma zależeć od przekazywanych wartości musi ona mieć parametry Argument to wartość przekazywana do procedury Nazwy parametrów są umieszczone w nawiasie i oddzielone przecinkami Podczas wywołania parametrom przekazujemy wartośc (argument) Wywoływanie podprogramu ! ! ! Podprogram można wywołać z innego podprogramu Należy po prostu wpisać instrukcję zawierającą jego nazwę Wywoływanie funkcji ! Aby wywołać funkcję do zmiennej przypisuje się nazwę tej funkcji 1 (C) 2005 RoG@j Funkcja InputBox ! Aby wprowadzić dane do programu z klawiatury można użyć prostego okna dialogowego - wywołanie funkcją InputBox z: ! ! Polem tekstowym Dwoma przyciskami OK i Cancel InputBox(prompt[, title][, default] ! Nawias [] oznacza parametry opcjonalne – należy podać jedynie „zachętę” Uzupełnienia MsgBox Pełna składnia funkcji MsgBox to: MsgBox(prompt[, buttons][ ,title][, helpfile, context]) ! Jeśli nie chcemy wartości zwracanej przez funkcje MsgBox (informacja, który przycisk został naciśnięty) możemy użyć instrukcji MsgBox ! Parametr prompt może zawierać ! ! ! VBA04 Łańcuch znaków Zmienną bądź wyrażenie 2005-02-20 Wykorzystanie InputBox strB = InputBox(”Podaj imię”, ”Witaj”, ”Robert”) ! Aby wykorzystać informację zwróconą przez funkcję, czyli tekst wpisany w polu tekstowym okna dialogowego, przypisać do zmiennej String (aby to zrobić musimy nauczyć się deklarować zmienne…) Formatowanie MsgBox ! Tekst wyświetlony w oknie komunikatu można umieścić w wielu wierszach i kolumnach ! ! ! Chr(13) przechodzi do nowego wiersza Chr(9) to znak tabulacji – przejście do nowej kolumny Znak & to konkatenacja (łączenie) łańcucha znaków Górny trójkąt macierzy Komunikaty i przyciski Sub Msg() MsgBox "11" & Chr(9) & "12" & Chr(9) & "13" _ & Chr(13) & Chr(9) & "22" & Chr(9) & "23" _ & Chr(13) & Chr(9) & Chr(9) & "33" End Sub ! Okno MsgBox może zawierać także: ! ! ! Jedną z kilku ikon Jeden z kilku przycisków Wybraną nazwę To, jaka to ikona (i przycisk) zależy od wartości numerycznej przekazanej do parametru buttons MsgBox "Informacja", 64, "Tytuł" ! 2