Algorytmy i Programowanie Ćwiczenia: VBA (1)
Transkrypt
Algorytmy i Programowanie Ćwiczenia: VBA (1)
(C) 2005 RoG@j 2005-02-20 Algorytmy i Programowanie Ćwiczenia: VBA (1) Program zajęć (wg. TS…) ! Wprowadzenie: ! © 2005 R. Robert Gajewski [email protected] http://rogaj.il.pw.edu.pl ! ! ! ! ! Wiosna 2005 AiPOI 2004/2005 1 Startujemy… ! Wiosna 2005 ! Przeciągamy i upuszczamy prawym klawiszem myszy z teczki Programy – z menu wybieramy Kopia ! ! ! Narzędzia | Makra | Visual Basic <Alt-F11> AiPOI 2004/2005 ! 3 Co to jest program??? ! ! ! Wiosna 2005 ! ! ! AiPOI Cw 01 AiPOI 2004/2005 Wstaw | Moduł W górnej części musi być: Option Explicit!!! Programy zapisujemy w module!!! AiPOI 2004/2005 4 Instrukcje, procedury, moduły Program w VB składa się z jednej lub więcej instrukcji wykonywanych w porządku zdefiniowanym przez programistę. Instrukcje programu zorganizowane są w procedury, moduły i projekty. Program w VB wymaga przynajmniej jednej procedury Wiosna 2005 Narzędzia | Opcje | Edytor " Wymagana deklaracja zmiennych Utworzenie modułu ! ! Wiosna 2005 2 Działanie jednorazowe!!! ! Visual Basic: ! AiPOI 2004/2005 Konfiguracja i moduły Ikona Excel’a na pulpicie ! ! Automatyzacja obliczeń z zastosowaniem makropoleceń, Uruchamianie i konfiguracja środowiska VBA, Edycja + kompilacja + uruchamianie własnych programów, Deklaracje zmiennych i stałych prostych, Operator przypisania, wyrażenia i operatory arytmetyczne, Komunikacja z użytkownikiem MsgBox, InputBox, czytanie i pisanie do i z komórek arkusza. 5 Wiosna 2005 Instrukcja jest najmniejsza częścią kodu. Może ona zadeklarować zmienną lub wykonać operację. Procedura jest najmniejszą częścią kodu posiadająca własną nazwę. , którą można uruchomić niezależnie. Moduł zawiera co najmniej jedną procedurę oraz wspólny zestaw deklaracji. AiPOI 2004/2005 6 1 (C) 2005 RoG@j Instrukcje VB ! ! ! Procedura VB składa się z instrukcji Większość instrukcji zajmuje jeden wiersz. Istnieją cztery typy instrukcji ! ! ! ! Deklaracje Instrukcje przypisania Instrukcje wykonujące konkretne zadania Informacje dla kompilatora Stałe ! ! ! ! Aby zadeklarować stałą należy użyć słowa kluczowego Const Stała zastępuje w programie niezmienną wartość, na przykład przyspieszenie ziemskie Warto przyjąć regułę, że nazwy stałych rozpoczynają się od litery c Const cg As Real = 9.81 Pozostałe typy instrukcji ! ! Instrukcja wykonująca konkretne zadanie to na przykład wywołanie procedury lub funkcji. Instrukcja z informacjami dla kompilatora to na przykład wymuszenie deklaracji danych Option Explicit 2005-02-20 Deklaracje ! ! ! Deklaracja służy do poinformowania kompilatora VB, że zamierzamy elementu posiadającego nazwę Informuje ona również o typie Można używać jedynie zadeklarowanych elementów Dim Liczba As Integer Przypisanie ! ! Instrukcja przypisania służy do przypisania zmiennej wartości. Składa się ona z trzech części ! ! ! Pierwszy program… ! Sub Hello() ! ! ! ! End Sub dopisuje się automatycznie! MsgBox – procedura biblioteczna Wypisywany tekst jest w parze ” ” Procedury w VB są dwóch typów: ! ! AiPOI Cw 01 Nazwy zmiennej Znaku równości (przypisania…) Wyrażenia określającego nową wartość Podprogramy (Sub Procedures) Funkcje (Function Procedures) 2 (C) 2005 RoG@j Proste okna dialogowe ! ! ! ! ! ! ! MsgBox to na dobą sprawę… też funkcja, ale o tym więcej będzie nieco później Chr(9) tabulacja, nowa kolumna Chr(13) znak nowej linii ! ! InputBox – funkcja, zwraca wprowadzony łańcuch, nawiasy i… podstawienie!!! Kompilacja i uruchamianie (1) ! Podstawowe reguły… MsgBox to instrukcja – nie zwraca wartości, jedynie wykonuje określone czynności – parametry bez nawiasu ! ! 2005-02-20 Warto przed uruchomieniem skompilować program!!! Kompilacja to proces tłumaczenia programu z języka VB na maszynowy Najczęściej będziemy uruchamiać programy w środowisku Excel’a! ! Kompilacja i uruchamianie (2) ! Środowisko edytora VB ! ! ! ! Analiza | Analiza krokowa ! ! ! <F8> „wskazanie” zmiennej „ujawnia” jej wartość Jest to znakomita technika szukania błędów w złożonych zadaniach AiPOI Cw 01 Kompilacja: Analiza | Kompiluj Uruchomienie: <F5> Środowisko Excel’a ! ! Debugging Wcięcia czynią program czytelnym Na samym początku pracy zapisujemy plik, najlepiej na dysku I: i co pewien czas zapisujemy zmiany: <Ctrl-S> lub ikona Różne programy (procedury) mogą być w tym samym module Komentarz rozpoczyna znak ‘ Komentuj programy – zwiększa to ich czytelność! Uruchomienie: Narzędzia | Makra | Makro – wybierz odpowiednie makro!!! <Alt-F8> Deklaracje ! ! ! Dim Nazwa_Zmiennej As Typ Dim As – słowa kluczowe – zmienne nie mogą mieć takich samych nazw jak słowa kluczowe Deklaracje mogą być w dowolnym miejscu programu, ale przed użyciem zmiennej 3 (C) 2005 RoG@j Nazwy zmiennych ! ! ! ! Kolejność zgodna z priorytetem ! ! ! ! ! ! ^ potęgowanie negacja */ mnożenie i dzielenie \ dzielenie całkowite Mod reszta z dzielenia całkowitego +dodawanie i odejmowanie Kolejność wykonywania operacji ! Jeśli jest więcej niż jeden operator kolejność wykonywania operacji to: ! ! ! ! ! Typy zmiennych Nazwa zmiennej musi rozpoczynać się od litery – wewnątrz może być znak podkreślenia i liczby Nazwa nie może zawierać znaków interpunkcyjnych i specjalnych Nazwa nie może zawierać spacji Nazwa musi być unikatowa i różna od słów kluczowych Operatory arytmetyczne ! 2005-02-20 Operacje arytmetyczne Operacje konkatenacji (&) czyli łączenia łańcuchów Operacje porównania Operacje logiczne Kiedy nie jesteś pewien… stawiaj nawiasy! Boolean Wartość logiczna 0-255 Integer Liczba całkowita -32768 32767 Long Liczba całkowita +/-2147483648 Single Zmiennoprzecinkowa Poj. precyzja Podw. precyzja Double Zmiennoprzecinkowa String Łańcuch Variant Dowolna wartość Wyrażenia ! ! Wyrażenie jest elementem instrukcji Wyrażenie składa się z: ! ! ! ! ! Zmiennych Literałów Stałych Funkcji wbudowanych Funkcji zdefiniowanych Komunikacja z Excell’em ! ! ! Traktujemy aktywny arkusz jak tablicę (macierz) Cells(i,j) „odwołuje” się do elementu tablicy o indeksach [i,j] A=Cells(2,3) ! ! „przepisanie” do A zawartości kom. [2,3] Cells(4,5)=B ! AiPOI Cw 01 Mała liczba całkowita Byte Prawda Fałsz „przepisanie” do [4,5] wartości zm. B 4