TEMATYKA WYKŁADÓW 2-3:
Algorytmy
...
Programowanie (VBA)
2.1. Struktura programu, edycja, kompilacja, uruchomienie programu,
śledzenie programu.
2.2. Typy danych. Struktury danych. Zmienne.
Instrukcje wejścia/wyjścia.
Instrukcja podstawienia.
2.3. Instrukcja warunkowa, wyboru.
2.4. Instrukcje organizacji pętli.
2.5. Procedury i funkcje.
2.6. Przykłady.
2.1. Struktura programu, edycja, kompilacja, uruchomienie programu. Śledzenie programu.
Rozwiązanie postawionego zadania za pomocą programu w języku VB, VBA:
Zaprojektowanie i utworzenie interfejsu użytkownika, za pomocą którego program będzie komunikować się ze światem zewnętrznym;
Opracowanie algorytmu rozwiązania postawionego problemu oraz napisania na tej podstawie kodu źródłowego programu;
Uruchomienie napisanego programu i zaprojektowanego interfejsu użytkownika oraz poprawienie ewentualnych błędów,
(VB) skompilowanie projektu do postaci programu wykonawczego (jego działanie wymaga obecności VB w pamięci).
Visual Basic for Applications (VBA) to oparty na Visual Basicu (VB) język
programowania zaimplementowany w aplikacjach Microsoft Office (MS Word/Excel/Power Point). Ta uproszczona wersja Visual Basica służy przede wszystkim do automatyzacji pracy z dokumentami pakietu Microsoft Office. Edytor VBA uruchamiamy na przykład poprzez wciśnięcie ALT+F11 (oczywiście w aktywnym oknie MS Excel). Pisanie makra rozpoczynamy wybierając z menu Insert, a następnie Module lub Forms. Makro uruchamia się poprzez kliknięcie na znak Run (lub klawisz F5).
Programowanie sprowadza się do:
Projektowania iterfejsu, poprzez tworzenie, modyfikowanie formularza (formularzy) i rozmieszczenie formantów,
Modyfikowania właściwości utworzonych obiektów (ustawianie na potrzeby aplikacji),
Przypisania kodu każdemu elementowi (obiektowi).
Uruchomieniue programu
Śledzenie wykonywania programu
Program napisany w jezyku Visual Baic komunikuje się z użytkownikiem poprzez intefejs (okienka komunikacyjne, arkusz excel, formularz).Często interfejs użytkownika stanowi odpowiednio zaprojektowany formularz. W formularzu umieszczone mogą być obiekty - kontrolki - takie jak przyciski, pola tekstowe, menu.
2.2. Typy danych. Struktury danych. Zmienne. Instrukcje wejścia/wyjścia.
Instrukcja podstawienia.
Typy danych:
Grupa |
Nazwa |
Wartości |
Liczby całkowite |
Integer |
l.całkowita od -32 768 do +32 767 |
|
Long |
l.całkowita od -2 147 483 648 do +2 147 483 647 |
|
Byte |
Dodatnia l.całkowita od 0 do 255 |
Liczby zmiennoprzecinkowe |
Single |
Liczba rzeczywista od -3 402 823 E+38 do 3 402 823 E+38 |
|
Double |
j.w. Zakres od -1,7976931348623E+308 do 3 402 823E+38 |
Łańcuchy znaków |
String |
|
Daty |
Date |
|
Dane logiczne |
Boolean |
Wartości „prawda” lub „fałsz” |
Wartości monetarne |
Currency |
|
Objekty |
Object |
|
Struktury danych - tablice:
Tablice to struktury danych przechowujące wiele wartości tego samego typu. Są użyteczne, gdy potrzeba umieścić większą ilość danych tego samego rodzaju. W VBA można używać tablic statycznch, o z góry określonych rozmiarach oraz tablic dynamicznych, o zmiennych rozmiarach. Tablice mogą mieć jeden (z jednym indeksem) lub więcej wymiarów (dwa lub więcej indeksów). Ponieważ tablice mogą przechowywać wiele danych, oaby odwołać się do którejkolwiek z nich, należy podać jej numer, czyli tzw. indeks.
Struktury danych - rekordy:
Tablice przechowują wiele wartości, ale tego samego typu. Istnieje nieraz potrzeba utworzenia takiej struktury danych, która przechowywać będzie wiele wartości i to różnych typów. Umożliwiają to rekordy.
Struktury danych - pliki:
Pracując z wielką ilością danych, często wygodnie jest zapisywać i odczytywać dane do/z pliku.
Zmienne:
Programy manipulują danymi, które są przechowywane w zmiennych.
Zmienne mają różne atrybuty i mogą przechowywać różne typy danych (liczby, tekst, data ..)
Przez zdeklaowanie zmiennej jako określonego typu danych określa się dla Visual Basic typ danych przechowywanych przez zmienną. (sposób interpretacji danej przechowywanej w pamięci).
UWAGA!! Nazwy zmiennych mogą zawierać tylko litery, cyfry oraz znak `_'
Deklarownie zmiennych:
Tablica jednowymiarowa:
Deklaracja tablicy statycznej:
Dim nazwa_tablicy (indmin to indmax) As typ_danych
Deklaracja tablicy dynamicznej:
Dim nazwa_tablicy() As typ_danych
Nadanie rozmiarów tablicy dynamicznej:
ReDim nazwa_tablicy(indmin To indmax) As typ_danych
Odwołanie:
Nazwa_tablicy(i), gdzie: indmin
i
indmax
Tablica dwuwymiarowa:
Deklaracja tablicy statycznej:
Dim nazwa_tablicy (indmin1 To indmax2, indmin2 To indmax2) As typ_danych
Deklaracja tablicy dynamicznej:
Dim nazwa_tablicy() As typ_danych
Nadanie rozmiarów tablicy dynamicznej:
Odwołanie:
Nazwa_tablicy(i, j), gdzie: indmin1
i
indmax1,
indmin2
j
indmax2
Deklarowanie rekordów:
Definicja typu rekordowego następuje na poziomie modułu według składni
Type nazwa_typu)użytkownika
Element1 As typ_danych
Element2 As typ danych
End Type
W przypadku używania plików posługujemy się następującymi poleceniami:
Składnia |
Opis |
Open ”ścieżka” For Random As nr_pliku |
Otwarcie (utworzenhie) pliku o nazwie zawartej w ścieżce i powiązanie go z numerem. |
Close nr_pliku |
Zamknięcie pliku o podanym numerze |
Eof(nr_pliku) |
Funkcja (zwracająca wartość typu Boolean) sprawdzająca, czy został osiągnięty koniec pliku. |
Load nr_pliku |
Wczytanie |
Put nr_pliku |
Zapisanie |
Kill „ścieżka” |
Usunięcie wybranego pliku |
Inicjowanie zmiennych i nadawanie im wartości:
Jeżeli zmienna nie zostanie zainicjowania wartością, to:
Zmiennej numerycznej nadawana jest wartość 0,
Zmiennej łąńcuchowej o stałej długości przypisywany jest łańcuch wartości 0,
Tablicy przypisywane są wartości 0
ReDim nazwa_tablicy(indmin1 To indmax2, indmin2 To indmax2) As typ_danych