W
Y
K
Ł
A
D
2
0
0
9
/2
0
1
0
2
Nazwy zmiennych w VBA.
Typy danych.
Deklaracje zmiennych, stałych, zasięg
deklaracji.
Instrukcje przypisania.
Tablice.
Wyrażenia i operatory.
Operacje na tekstach.
20
09
-1
0-
22
P
ro
gr
am
ow
an
ie
Materiały
do wykładu
na prawach
Operacje na tekstach.
Operacje logiczne.
Relacje.
Struktury sterujące: instrukcje
warunkowe, instrukcje cyklu (pętle),
instrukcje wyboru.
Wbudowane funkcje: komunikacja z
użytkownikiem, konwersja typów danych.
Obsługa błędów.
1
P
ro
gr
am
ow
an
ie
na prawach
rękopisu
20
09
-1
0-
22
N
AZWY ZMIENNYCH
/
STAŁYCH
ciągi liter i cyfr
nie powinny zawierać znaków narodowych
nie mogą zawierać znaków specjalnych: <spacja>,
(), :, ;, itp. (dopuszczalny znak podkreślenia _)
mogą mieć dowolną długość
P
ro
gr
am
ow
an
ie
mogą mieć dowolną długość
wielkie i małe litery NIE są rozróżniane
nazwa MUSI rozpoczynać się literą
wskazane jest nadawanie nazw znaczących
Zmienne i stałe nazywamy najlepiej za pomocą
małych liter, bez polskich znaków
2
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
D
EKLAROWANIE ZMIENNYCH
Zmienna jest nazwanym obszarem
przechowywania danych w pamięci komputera
Zmienne deklaruje się za pomocą instrukcji
Dim
umieszczanych na początku każdej procedury
Sub
lub
Function
P
ro
gr
am
ow
an
ie
lub
Function
3
P
ro
gr
am
ow
an
ie
Dim
nazwaZmiennej
Przykład:
Dim
wiekDrzewa, wiekLasu
Styl „wielbłądzi”
nadawania nazw
zmiennym
20
09
-1
0-
22
D
EFINIOWANIE TYPÓW DANYCH
Typ danych określa, w jakiej postaci dane
zapisywane są w pamięci (liczby całkowite,
rzeczywiste, łańcuchy itp.)
Należy posłużyć się typem danych, który zajmuje
najmniejszą liczbę bajtów i obsługuje wszystkie
P
ro
gr
am
ow
an
ie
najmniejszą liczbę bajtów i obsługuje wszystkie
dane, które zostaną z nim powiązane – szybkość
działania interpretera VBA zależy m. in. od liczby
bajtów użytych przez dane.
4
P
ro
gr
am
ow
an
ie
Jawne deklarowanie zmiennych jako używających
określonego typu danych umożliwia interpreterowi
VBA dodatkową walidację błędów
5
P
ro
gr
am
ow
an
ie
T
YPY DANYCH
Logiczny:
Boolean
Liczbowy:
Byte
Integer
(%)
Daty:
Date
Znakowy:
String
($)
Obiektowy:
Object
Tablicowy:
Array
20
09
-1
0-
22
P
ro
gr
am
ow
an
ie
Long
(&)
Single
(!)
Double
(#)
Currency
(@)
Decimal
Znakowy lub liczbowy:
Variant
20
09
-1
0-
22
T
YPY
D
ANYCH
Typ
Zakres wartości
Liczba
bajtów
Byte
0-255 (2
8
-1)
1
Integer
-32,768 ÷ 32,767 (- 2
15
÷ 2
15
-1)
2
Boolean
True, False
2
P
ro
gr
am
ow
an
ie
Long
- 2,147,483,648 ÷ 2,147,483,647 (- 2
31
÷ 2
31
-1)
4
Single
±(1,5E-45 ÷ 3,4E38)
4
Double
±(5E-324 ÷ 1,7E308)
8
Currency
-922,337,203,685,477.5808 ÷
922,337,203,685,477.5807
8
Decimal
+/- 79,228,162,514,264,337,593,543,950,335
(bez części dziesiętnej
+/- 7.9228162514264337593543950335
( z 28 miejscami po przecinku)
14
6
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
T
YPY
D
ANYCH
Typ
Zakres wartości
Liczba
bajtów
Date
1 stycznia 0100 ÷ 31 grudnia 9999
8
Object
Dowolne odwołanie do obiektu
4
String
0 ÷ ok. 2mld (zmienna dłg.)
10 bajtów
P
ro
gr
am
ow
an
ie
String
0 ÷ ok. 2mld (zmienna dłg.)
0 ÷ ok. 65,400 (stała dłg.)
10 bajtów
+ długość
łańcucha
Variant
Dowolna wartość numeryczna mniejsza od
maksymalnej wartości zakresu typu danych
Double
16
Currency
-922,337,203,685,477.5808 ÷
922,337,203,685,477.5807
10 bajty
+ długość
łańcucha
7
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
D
EKLAROWANIE TYPU ZMIENNYCH
/
STAŁYCH
Typ danych ustala się przez uwzględnienie słowa
kluczowego
As
w instrukcji
Dim
/
Const
P
ro
gr
am
ow
an
ie
Dim
nazwaZmiennej
As TypDanych
Const
nazwaStałej
As TypDanych
= wartość
Przykład:
8
P
ro
gr
am
ow
an
ie
Przykład:
Dim
wiekDrzewa
As Integer
Const
wiekLasu
As Integer
= 150
Jeśli przy deklarowaniu zmiennej nie określi się typu
danych, interpreter VBA przypisze jej typ
Variant
Aby wymusić deklarowanie wszystkich używanych
zmiennych, w module VBA w pierwszym wierszu
należy zastosować instrukcję
Option Explicit
20
09
-1
0-
22
D
EKLAROWANIE TYPU ZMIENNYCH
Typ danych dla argumentu procedury z listy
argumentów ustala się przez uwzględnienie słowa
kluczowego
As
w instrukcji
Function
:
P
ro
gr
am
ow
an
ie
Function
WynikFinansowy( przychody
As Currency
,
wydatki
As Currency
)
9
P
ro
gr
am
ow
an
ie
wydatki
As Currency
)
Typ danych dla wartości zwracanej przez procedurę
Function
ustala się przez uwzględnienie słowa
kluczowego
As
w instrukcji
Function
:
Function
WynikFinansowy( przychody, wydatki )
As
Currency
20
09
-1
0-
22
Z
ASIĘG ZMIENNYCH
Zasięgiem zmiennej określa się moduły i procedury, w
których można je zastosować
Zasięg zmiennych/stałych:
Zmienna lokalna –
Dim
– widoczna tylko w danej procedurze
Zmienna prywatna –
Dim
lub
Private
przed pierwszą
P
ro
gr
am
ow
an
ie
Zmienna prywatna –
Dim
lub
Private
przed pierwszą
procedurą w module – widoczna w całym module
Zmienna publiczna (globalna) –
Public
przed
pierwszą procedurą w module – widoczna w różnych
modułach
Zmienne statyczne –
Static
- nie tracą wartości po
wyjściu z procedury, lecz nadal mają wartość, którą
miały w chwili zakończenia procedury (chyba że
procedura zostanie zakończona instrukcją
End
)
10
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
Z
MIENNE OBIEKTOWE
Deklaracja:
Dim
nazwa
As Object
Zmienne odwołują się do lokalizacji danych,
a nie do ich wartości
Zmiennej należy przypisać konkretny obiekt:
P
ro
gr
am
ow
an
ie
Zmiennej należy przypisać konkretny obiekt:
Set
nazwa = wartość_wskazywana
Przykład:
Dim
vObiekt
As Range
Set
vObiekt = Worksheets(”Arkusz1”).Range("A1:C2")
Anulowanie zmiennej obiektowej:
Set
zmienna = Nothing
11
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
O
DWOŁYWANIE SIĘ DO OBIEKTÓW
Specyfikacja „ścieżki dostępu” do obiektu, jego
metod i właściwości
Zachowanie kolejności odwołania zgodnie z
hierarchią występowania obiektów np.
skoroszyt.arkusz.zakres
P
ro
gr
am
ow
an
ie
skoroszyt.arkusz.zakres
Instrukcja
With
w odwoływaniu się do obiektów:
With
obiekt
działania_na_obiekcie
End With
12
P
ro
gr
am
ow
an
ie
I
NSTRUKCJA
W
ITH
20
09
-1
0-
22
P
ro
gr
am
ow
an
ie
WITH
Workbooks(1).Activesheet
.Range(”A1:A2”).Select
.Range(”A1:A2”).Value = 10
END WITH
13
P
ro
gr
am
ow
an
ie
WITH
Workbooks(1).Worksheets("Arkusz1").Activate
END WITH
WITH
Workbooks(1).Worksheets("Arkusz1").Rows
.Font.Bold = True
.Select
END WITH
20
09
-1
0-
22
T
YPY DANYCH UŻYTKOWNIKA
Typ danych użytkownika służy do przechowywania
w jednej strukturze danych podobnego rodzaju
Instrukcje między
Type
i
End Type
określają
elementy nowego typu danych
P
ro
gr
am
ow
an
ie
Type
CarInfo
14
P
ro
gr
am
ow
an
ie
Type
CarInfo
name
As String
model
As String
rokProdukcji
As Integer
cena
As Currency
End Type
Dim myCar As CarInfo
myCar.name = „Fiat”
myCar.model = „Brava”
20
09
-1
0-
22
I
NSTRUKCJA PRZYPISANIA
Instrukcja przypisania jest instrukcją VBA
wykonującą obliczenia i przypisującą wynik
zmiennej lub obiektowi
W języku VBA funkcję operatora przypisania
spełnia znak równości
P
ro
gr
am
ow
an
ie
spełnia znak równości
15
P
ro
gr
am
ow
an
ie
x = 1
x = x + 1
FileOpen = True
Range("Rok").Value = 2009
20
09
-1
0-
22
T
ABLICE
Tablica jest grupą elementów tego samego typu
posiadających wspólną nazwę
W celu odwołania się do określonego elementu tablicy
należy użyć jej nazwy i numeru indeksu
P
ro
gr
am
ow
an
ie
16
P
ro
gr
am
ow
an
ie
Dim
mojaTablica(0
To
100)
As Integer
Dim
mojaTablica(100)
As Integer
mojaTablica(0) = 123
Dim
mojaTablica(1
To
10, 1
To
10 )
As Integer
‘ Tablica dynamiczna
Dim
mojaTablica()
As Integer
Redim
‘ Informuje interpreter VBA o liczbie
elementów tablicy
Aby w przypadku
wszystkich tablic, dla
których deklarowany
jest tylko górny
indeks, interpreter
VBA stosował dolny
indeks równy 1, przed
pierwszą procedurą
modułu należy
wstawić instrukcję:
Option Base
= 1
20
09
-1
0-
22
W
YRAŻENIA I OPERATORY
Wyrażenie – operacja wykonywana w celu
uzyskania wartości;
Składowe wyrażenia: zmienne, stałe, funkcje,
wartości (tekstowe, liczbowe, logiczne), operatory;
Operatory:
P
ro
gr
am
ow
an
ie
Operatory:
+
,
-
,
*
,
/
(dzielenie),
^
(potęgowanie),
=
(przypisanie),
\
(dzielenie całkowite),
Mod
(reszta z dzielenia całkowitego);
17
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
O
PERATORY
-
KOLEJNOŚĆ
Kolejność wykonywania operatorów:
zmiana znaku,
tożsamość,
potęgowanie,
mnożenie (
*
,
/
,
\
,
mod
),
P
ro
gr
am
ow
an
ie
mnożenie (
*
,
/
,
\
,
mod
),
dodawanie (
+
/
-
),
przypisanie (
=
);
Nawiasy – kolejność wykonywania od najgłębiej
zagnieżdżonego – nie ma ograniczeń w
zagnieżdżeniu!
18
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
O
PERACJE NA TEKSTACH
Konkatenacja – łączenie tekstów:
+
lub
&
"Jan" + "Kowalski" => "JanKowalski"
"Jan" & Chr(32) & "Kowalski" => "Jan Kowalski"
"A" & Chr(98) & "c" => „Abc”
P
ro
gr
am
ow
an
ie
Uwaga:
1 + 2 = "3"
1 & 2 = "12"
Uwaga: operator
+
może być używany tylko do
zmiennych tego samego typu (liczbowy/tekstowy)
19
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
O
PERACJE LOGICZNE
Operacje logiczne mają wynik
PRAWDA (True, 1) lub FAŁSZ (False, 0);
Operacje mogą być prowadzone na zmiennych
typu Boolean lub liczbach całkowitych (czyli
porównywanie ciągów reprezentacji binarnych tych
liczb);
P
ro
gr
am
ow
an
ie
liczb);
Operatory logiczne:
Not
(negacja - nie)
And
(koniunkcja - i)
Or
(alternatywa - lub)
Xor
(alternatywa symetryczna – suma mod 2)
Eqv
(równoważność)
Imp
(implikacja – jeśli... to...);
20
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
R
ELACJE
Relacje to porównanie dwóch argumentów – wynik
w formie wartości logicznej (0/1);
arg1
vs
arg2
operatory:
=
,
<>
,
<
,
>
,
<=
,
>=
;
P
ro
gr
am
ow
an
ie
21
P
ro
gr
am
ow
an
ie
x y Not x Not y x And y x Or
y
x Xor
y
x Eqv y x Imp
y
0 0
1
1
0
0
0
1
1
0 1
1
0
0
1
1
0
1
1 0
0
1
0
1
1
0
0
1 1
0
0
1
1
0
1
1
20
09
-1
0-
22
I
NSTRUKCJE WARUNKOWE
Służą do kierowania programem zależnie od
wartości wyrażenia logicznego (wyniku operacji
logicznej);
Jeśli wyrażenie jest fałszywe, to program wykonuje
instrukcje od komendy
Else
;
P
ro
gr
am
ow
an
ie
instrukcje od komendy
Else
;
Blok instrukcji może być pusty;
Po zakończeniu wykonywania instrukcji z danego bloku
program wykonuje instrukcje dalej już po komendzie
End If
;
Można zagnieżdżać warunki bez ograniczeń;
22
P
ro
gr
am
ow
an
ie
I
NSTRUKCJE WARUNKOWE
20
09
-1
0-
22
P
ro
gr
am
ow
an
ie
If
warunek
Then
instrukcja
If
warunek
Then
instrukcja_1
instrukcja_2
...
23
P
ro
gr
am
ow
an
ie
If
warunek
Then
instrukcje_1
Else
instrukcje_2
End If
...
End If
Warunek_1
Warunek_2
Instrukcje_1
Instrukcje_2
Instrukcje_3
NIE
NIE
TAK
TAK
20
09
-1
0-
22
P
ro
gr
am
ow
an
ie
P
ro
gr
am
ow
an
ie
24
If
warunek_1
Then
instrukcje_1
Elseif
warunek_2
Then
instrukcje_2
Else
instrukcje_3
End If
I
NSTRUKCJE WYBORU
20
09
-1
0-
22
P
ro
gr
am
ow
an
ie
Select Case
sprawdzane_wyrażenie
Case
lista_wyrażeń_1
Blok instrukcji_1
Case
lista_wyrażeń_2
25
P
ro
gr
am
ow
an
ie
Case
lista_wyrażeń_2
Blok instrukcji_2
Case Else
Blok instrukcji_3
End Select
I
NSTRUKCJE WYBORU
20
09
-1
0-
22
P
ro
gr
am
ow
an
ie
Select Case
WeekDay(Now)
Case
2, 3, 4, 5, 6
Debug.Print
„To nie Weekend”
Case Else
26
P
ro
gr
am
ow
an
ie
Case Else
Debug.Print
„Weekend !”
End Select
20
09
-1
0-
22
I
NSTRUKCJE PĘTLI
Instrukcja Do ... Loop
Instrukcja Do Until warunek ... Loop
Instrukcja Do warunek ... Loop Until
Instrukcja Do While warunek ... Loop
P
ro
gr
am
ow
an
ie
Instrukcja Do ... Loop While warunek
Instrukcja For ... Next
Instrukcja For Each
Instrukcja While warunek ... Wend
27
P
ro
gr
am
ow
an
ie
I
NSTRUKCJE PĘTLI
(
C
.
D
.)
20
09
-1
0-
22
P
ro
gr
am
ow
an
ie
DO UNTIL warunek
DO
instrukcje
LOOP
DO WHILE warunek
instrukcje
LOOP
DO
28
P
ro
gr
am
ow
an
ie
instrukcje
LOOP
DO
instrukcje
LOOP UNTIL warunek
DO
instrukcje
LOOP WHILE warunek
I
NSTRUKCJE PĘTLI
(
C
.
D
.)
20
09
-1
0-
22
P
ro
gr
am
ow
an
ie
FOR licznik = start TO koniec
instrukcje
NEXT licznik
29
P
ro
gr
am
ow
an
ie
FOR licznik = start TO koniec STEP
instrukcje
NEXT licznik
FOR EACH element IN kolekcja
instrukcje
NEXT element
O
PUSZCZENIE PĘTLI
20
09
-1
0-
22
P
ro
gr
am
ow
an
ie
DO
instrukcja_1
IF warunek THEN EXIT DO
LOOP
30
P
ro
gr
am
ow
an
ie
LOOP
FOR licznik = start TO koniec
instrukcja_1
IF warunek THEN EXIT FOR
LOOP
20
09
-1
0-
22
P
RZYKŁADY FUNKCJI WBUDOWANYCH
Funkcje wprowadzania danych:
MsgBox – wyświetlanie i wprowadzanie danych
InputBox – wprowadzanie danych
Funkcje znakowe – działania na ciągach znaków
(rezultat jest również ciągiem znaków)
P
ro
gr
am
ow
an
ie
Funkcje liczbowe – działania na liczbach (rezultat
jest liczbą)
Funkcje daty – działania na datach
Konwersja danych:
Konwersja liczba ⇒ tekst
Konwersja tekst ⇒ liczba
Konwersja ... ⇒ data, .. ⇒ boolean
Inne funkcje
31
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
F
UNKCJE ZNAKOWE
UCase(ciąg) – zamiana na duże litery
LCase(ciąg) – zamiana na małe litery
LTrim(ciąg) – ciąg znaków bez spacji początkowych
RTrim(ciąg) –ciąg znaków bez spacji końcowych
P
ro
gr
am
ow
an
ie
Trim(ciąg) – ciąg znaków bez spacji początkowych i
końcowych
Left(ciąg, n) – ekstrakcja n początkowych znaków
Right(ciąg, n) – ekstrakcja n końcowych znaków
Mid(ciąg, start, n) – ekstrakcja n znaków od pozycji
start
Len(ciąg) – długość ciągu znaków
32
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
F
UNKCJE MATEMATYCZNE
Abs(n) – wartość bezwzględna
Int(n) – część całkowita liczby (zaokrąglenie, dla
ujemnych zwraca najbliższą liczbę mniejszą od n)
Fix(n) – część całkowita liczby (odrzucenie części
ułamkowej)
P
ro
gr
am
ow
an
ie
ułamkowej)
Sqrt(n) – pierwiastek z n
Rnd – liczba losowa typu Single
33
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
F
UNKCJE DATY
Time – czas systemowy komputera
Date – data systemowa
Day(data) – numer dnia miesiąca
WeekDay(data [, pdt]) – numer dnia tygodnia
P
ro
gr
am
ow
an
ie
Month(data)- numer miesiąca
MonthName(data) – nazwa miesiąca
Year(data) – rok z podanej daty
FormatDateTime(data, format) – podaje datę/czas
w określonym formacie
34
P
ro
gr
am
ow
an
ie
F
UNKCJE KONWERSJI
20
09
-1
0-
22
P
ro
gr
am
ow
an
ie
Konwersja ... ⇒ liczba
CByte
CCur
CDbl
Konwersja ... ⇒ tekst
CStr
CVar
Konwersja ... ⇒ data:
35
P
ro
gr
am
ow
an
ie
CDbl
CDec
CInt
CLng
CSng
Cvar
Konwersja ... ⇒ data:
CDate
Konwersja ... ⇒ boolean:
CBool
20
09
-1
0-
22
F
UNKCJA
M
SG
B
OX
Funkcja MsgBox wyświetla okno dialogowe z
komunikatem i czeka na wciśnięcie przycisku przez
użytkownika, po czym zwraca wartość typu Integer
określającą przyciśnięty prz użytkownika przycisk
Składnia:
P
ro
gr
am
ow
an
ie
Składnia:
MsgBox(Komunikat [, Przyciski] [, Tytuł] [, PlikHelp,
HelpContext])
Podobnie do wszystkich funkcji VBA, funkcja
MsgBox wymaga umieszczenia jej argumentów w
nawiasach , gdy używa się wartości zwracanych
przez funkcję
36
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
F
UNKCJA
M
SG
B
OX
P
ro
gr
am
ow
an
ie
Argument
Opis
Komunikat (Wymagany) Wyrażenie łańcuchowe wyświetlane jako
wiadomość w oknie dialogowym (Maks. 1024 znaki). Jeżeli
łańcuch ten zawiera więcej niż jedną linię, można oddzielać
je używając znaków powrotu karetki (carriage return
37
P
ro
gr
am
ow
an
ie
je używając znaków powrotu karetki (carriage return
Chr(13)) i podziału linii (linefeed Chr(10)), lub połączenia
(Chr(10) & Chr(13)), pomiędzy poszczególnymi liniami.
Przyciski (Opcjonalny) Wyrażenie numeryczne określające numer i
typ przycisków, które mają być wyświetlane. Domyślna
wartość 0.
Tytuł
(Opcjonalny) Wyrażenie łańcuchowe wyświetlane na pasku
tytułowym okna dialogowego. Jeżeli zostanie pominięty, na
pasku tytułowym zostanie wyświetlona nazwa aplikacji.
20
09
-1
0-
22
F
UNKCJA
M
SG
B
OX
P
ro
gr
am
ow
an
ie
Argument
Opis
PlikHelp
(Opcjonalny) Wyrażenie łańcuchowe określające
niestandardowy plik pomocy (Help), który ma być użyty do
przeszukiwania pomocy kontekstowej dla okna
dialogowego.
38
P
ro
gr
am
ow
an
ie
dialogowego.
HelpContext(Opcjonalny). Wyrażenie numeryczne określające numer
kontekstowy skojarzony z tematem pomocy przez autora
pomocy.
Stałe VB:
vbOkOnly
– klawisz Ok;
vbOkCancel
– klawisze Ok i Cancel;
vbYesNo
– klawisze Yes i No;
vbCritical
– ikonka krytyczna;
vbQuestion
– ikonka pytania;
vbExclamation
– ikonka wykrzyknika;
vbInformation
– ikonka informacji;
20
09
-1
0-
22
W
ARTOŚCI I STAŁE ZWRACANE PRZEZ
F
UNKCJĘ
M
SG
B
OX
W przypadku okna dialogowego z wieloma
przyciskami, wartość zwrócona przez funkcje
MsgBox zapisuje się w zmiennej.
P
ro
gr
am
ow
an
ie
Stała
Wartość
Opis
39
P
ro
gr
am
ow
an
ie
Stała
Wartość
Opis
vbOK
1
OK
vbCancel
2
Cancel(Anuluj)
vbAbort
3
Abort(Przerwij)
vbRetry
4
Retry(Ponów próbę)
vbIgnore
5
Ignore(Zignoruj)
vbYes
6
Yes(Tak)
vbNo
7
No(Nie)
20
09
-1
0-
22
P
RZYKŁAD
P
ro
gr
am
ow
an
ie
Arkusz programu
Microsoft Office Excel z
40
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
F
UNKCJA
I
NPUT
B
OX
Funkcja InputBox wyświetla okno dialogowe i
czeka, aż użytkownik wprowadzi tekst lub wciśnie
przycisk oraz zwraca wartość typu String
zawierającą tekst wprowadzony przez użytkownika.
Składnia:
P
ro
gr
am
ow
an
ie
Składnia:
InputBox(Pytanie [, Tytuł] [, DomyślnyTekst]
[, XPos] [, YPos] [,PlikHelp, HelpContext])
41
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
A
RGUMENTY FUNKCJI
I
NPUT
B
OX
P
ro
gr
am
ow
an
ie
Argument Opis
Pytanie
(Wymagany) Wyrażenie łańcuchowe wyświetlane
jako wiadomość w oknie dialogowym (Maks.1024
znaki). Jeżeli łańcuch ten zawiera więcej niż jedną
linię, można oddzielać je używając znaków powrotu
karetki (carriage return Chr(13)) i podziału linii
42
P
ro
gr
am
ow
an
ie
karetki (carriage return Chr(13)) i podziału linii
(linefeed Chr(10)), lub połączenia (Chr(10) &
Chr(13)), pomiędzy poszczególnymi liniami.
Tytuł
(Opcjonalny) Wyrażenie łańcuchowe wyświetlane
na pasku tytułowym okna dialogowego. Jeżeli
zostanie pominięty, na pasku tytułowym zostanie
wyświetlona nazwa aplikacji.
20
09
-1
0-
22
A
RGUMENTY FUNKCJI
I
NPUT
B
OX
P
ro
gr
am
ow
an
ie
Argument Opis
Domyślny
Tekst
(Opcjonalny) Wyrażenie łańcuchowe wyświetlane w
oknie wprowadzania danych jako domyślna odpowiedź,
jeżeli nie zostanie wprowadzony inny tekst.
XPos
(Opcjonalny) Wyrażenie numeryczne określające, w
punktach (1 cal=72 punkty), poziomą odległość między
43
P
ro
gr
am
ow
an
ie
punktach (1 cal=72 punkty), poziomą odległość między
lewym brzegiem okna dialogowego a lewym brzegiem
ekranu. Jeżeli zostanie pominięty, okno dialogowe
zostaje wycentrowane poziomo.
YPos
(Opcjonalny) Wyrażenie numeryczne określające, w
twipsach, pionową odległość między górnym brzegiem
okna dialogowego a górą ekranu. Jeżeli zostanie
pominięty, okno dialogowe zostaje umieszczone na 1/3
wysokości.
P
RZYKŁADY
20
09
-1
0-
22
P
ro
gr
am
ow
an
ie
Arkusz programu
Microsoft Office Excel z
44
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
W
YCHWYTYWANIE BŁĘDÓW
Zawsze należy zakładać, że jeśli użytkownik może
w interakcji z programem wprowadzić dane, które
spowodują wystąpienie błędu wykonywania kodu i
w konsekwencji przerwanie działania programu
Podstawowa strategia wychwytywania błedów
P
ro
gr
am
ow
an
ie
Podstawowa strategia wychwytywania błedów
składa się z czterech kroków:
Ustawienie pułapki wychwytującej błędy
Tworzenie kodu procedury obsługującej błędy
Wznowienie wykonywania programu
Wyłączenie pułapki
45
P
ro
gr
am
ow
an
ie
20
09
-1
0-
22
U
STAWIENIE PUŁAPKI WYCHWYTUJĄCEJ BŁĘDY
ON ERROR GOTO etykieta
instrukcję należy umieścić w miejscu poprzedzającym
wystąpienie błędu
przy wystąpieniu błędu nastąpi przejście do linii
z podaną etykietą
P
ro
gr
am
ow
an
ie
ON ERROR RESUME Next
w przypadku wystąpienia błędu następuje przejście do
następnej instrukcji po tej, która spowodowała błąd
ON ERROR GOTO 0 – wyłączenie obsługi błędów
w bieżącej procedurze
46
P
ro
gr
am
ow
an
ie
P
RZYKŁAD
20
09
-1
0-
22
P
ro
gr
am
ow
an
ie
Arkusz programu
Microsoft Office Excel z
47
P
ro
gr
am
ow
an
ie