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