Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Podobne dokumenty
Wprowadzenie do programowania w VBA

Algorytmika i Programowanie VBA 1 - podstawy

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Wstęp do programowania

Visual Basic for Application (VBA)

Visual Basic for Application (VBA)

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Właściwości i metody obiektu Comment Właściwości

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

LibreOffice Calc VBA

Technologia informacyjna programowanie Janusz Uriasz

TABLICA (ang. array) pojedyncza zmienna z wieloma komórkami, w których można zapamiętać wiele wartości tego samego typu danych.

MATERIAŁY DO ZAJĘĆ II

Automatyzacja pracy w AutoCAD

Kiedy i czy konieczne?

Język ludzki kod maszynowy

Podstawy programowania skrót z wykładów:

Tablice. Jones Stygar na tropie zmiennych

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Instrukcje sterujące. Programowanie komputerowe

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

Obliczenia, zmienne. Proste działania, zmienne, rodzaje zmiennych, proste operacje i działania na zmiennych.

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Pascal - wprowadzenie

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

ZMIENNE. Podstawy PHP

Visual Basic for Application (VBA)

Programowanie Delphi obliczenia, schematy blokowe

Wstęp do programowania. Różne różności

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Odczyt danych z klawiatury Operatory w Javie

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Podstawy programowania w języku C i C++

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Procedury i funkcje. Programowanie komputerowe

Programowanie Komputerów

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

VBA praca z makrami w Excelu

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 4. Karol Tarnowski A-1 p.

1 Podstawy c++ w pigułce.

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC

Wyrażenia arytmetyczne

Aplikacje w środowisku VBA. Visual Basic for Aplications

Nazewnictwo zmiennych

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE

Arytmetyka liczb binarnych

Podstawy informatyki

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 3. Programowanie komputerowe

Java Podstawy. Michał Bereta

dr inż. Jarosław Forenc

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

2 Przygotował: mgr inż. Maciej Lasota

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Elementy języków programowania

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

VBA praca z makrami w Excelu

Instrukcja standardowa Writeln

Wykład 2 Składnia języka C# (cz. 1)

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Technologie informacyjne

Visual Basic dla Aplikacji

Autor: dr inż. Katarzyna Rudnik

Programowanie komputerowe. Zajęcia 1

Python wstęp do programowania dla użytkowników WCSS

Języki i paradygmaty programowania

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Kwerendy (zapytania) wybierające

Logika Temporalna i Automaty Czasowe

Język C zajęcia nr 11. Funkcje

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

12. Skrypty w Linux - funkcje, instrukcje sterujące i obliczenia arytmetyczne

Zmienne, stałe i operatory

Programowanie obiektowe. Obiekt Klasa Składnia klasy: Interfejsy Składnia interfejsu: Metody Składnia instrukcji Sub: Składnia instrukcji function:

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

C++ wprowadzanie zmiennych

Podstawy programowania w języku C

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Cw.12 JAVAScript w dokumentach HTML

Powtórka algorytmów. Wprowadzenie do języka Java.

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Transkrypt:

Wydział Zarządzania AGH Katedra Informatyki Stosowanej Podstawy VBA cz. 2 Programowanie 1

Program wykładu Typy danych Wyrażenia Operatory 2

VBA Visual Basic dla aplikacji (VBA) firmy Microsoft jest językiem makropoleceń dla Excela, zachowującym jednocześnie dobrze znane polecenia i składnię języka BASIC. Visual Basic nie jest jednak prymitywnym językiem, któremu brakuje struktur występujących w nowoczesnych językach. Ma on wszystkie instrukcje złożone i typy danych, jakie występują w nowoczesnych językach. Ponadto w Visual Basicu można korzystać z obiektów, co czyni go bardziej zrozumiałym, a tym samym łatwiejszym w użyciu przy pisaniu własnych aplikacji. 3 3

Dane i typy danych Programy manipulują danymi, które są przechowywane w zmiennych lub stałych. Zmienne mają różne atrybuty i mogą przechowywać różne typy danych (liczby, tekst, data i tak dalej). Stąd termin typ danych. Typ danych określa sposób, w jaki są interpretowane bity przechowywane w pamięci. W węższym rozumieniu typ danych jest zbiorem wartości, które może przyjmować zmienna. Pojęcie typu danych jest fundamentalne w nowocześnie pojmowanym programowaniu. W języku VB wyróżniamy 11 podstawowych (standardowych, predefiniowanych) typów danych. Oprócz tego typy mogą być definiowane przez użytkownika, np. typ konto z operacjami wpłata, wypłata i stan konta. 4 4

Dane i typy danych 5 5

Zmienne i typy zmiennych Zmienna (ang. variable) para uporządkowana: nazwa i przyporządkowana jej wartość, tzn. reprezentant danych określonego typu, istniejący jako miejsce w pamięci. Zmienna obiekt mogący zmieniać swoją wartość w trakcie wykonywania programu. Zmienna jest dostępna w programie za pomocą nazwy użytej w deklaracji. Podczas wykonywania programu zmiennej można przypisywać różne wartości, zawsze jednak zgodne z zadeklarowanym typem. Do przypisania wartości zmiennej służy instrukcja przypisania. Typy zmiennych są tym samym, co omówione poprzednio typy danych. 6 6

Stałe i typy stałych Stała (ang. constant) nazwa lub zmienna programowa o przypisanej wartości początkowej, nie zmieniająca się w trakcie wykonania programu. Stała obiekt, który po jednokrotnym przypisaniu, nie może zmieniać wartości w trakcie wykonywania programu. Stała jest dostępna w programie za pomocą nazwy użytej w deklaracji. 7 7

Nazwy zmiennych/stałych Deklarując w VBA zmienną/stałą należy pamiętać, że nazwa zmiennej/stałej: musi zaczynać się od litery (nie może zaczynać się od cyfry), nie może zawierać znaków (symboli) ze zbioru: { kropka, przecinek, spacja,!, $, @, #, [,], {,},} oraz operatorów nie powinna być dłuższa niż 255 znaków, nie może być taka sama jak nazwa: procedur, funkcji, symboli, stałych oraz słów kluczowych języka VBA, np. nie można zadeklarować zmiennej o nazwie Me, ponieważ jest to słowo kluczowe reprezentujące aktywny formant. 8 8

Deklaracje zmiennych/stałych Przed użyciem zmienna powinna być zadeklarowana. Jeśli zmienna nie jest zadeklarowana, to jej domyślnym typem jest typ Variant. Uwaga na marnotrawstwo pamięci i czasu obliczeń! Deklaracja zmiennej, niezależnie od typu przechowywanych danych, ma następującą składnię: Dim Private Public NazwaZmiennej [As TypDanych] Deklarację stałej przeprowadza się wg poniższego schematu: [Private Public] Const NazwaStałej [As TypDanych] = wartość 9 9

Deklaracje zmiennych/stałych Zmienna zadeklarowana przez Dim Private w module jest dostępna dla wszystkich procedur modułu i tylko w module, w którym została zadeklarowana. Zmienna zadeklarowana przez Dim w procedurze jest dostępna tylko wewnątrz procedury. Zmienna zadeklarowana jako Public jest dostępna we wszystkich procedurach i we wszystkich modułach w aplikacji, chyba że zostało użyte Option Private Module, które powoduje, że zmienne są publiczne tylko wewnątrz projektu, w którym rezydują. Deklaracja Option Explicit wymusza definiowanie wszystkich zmiennych. 10 10

Deklaracje zmiennych/stałych Dim Numer As Byte deklaracja zmiennej typu bajtowego Public Numer1 As Integer deklaracja zmiennej typu całkowitoliczbowego, ważna we wszystkich modułach, o ile podana na początku modułu Private Numer2 As Double deklaracja zmiennej typu rzeczywistego, ważna w module, na początku którego została podana Dim Cena As Single deklaracja zmiennej o nazwie Cena, typ - liczby rzeczywiste Const KONIECROKU As Date = #12/31/2010# deklaracja stałej o nazwie KONIECROKU (typ data) z wartością 31 grudnia 2010 Const NAZWISKO As String = "Kowalski" deklaracja stałej o nazwie NAZWISKO (typ ciąg znaków) 11 11

Deklaracje tablic Tablica jest zbiorem zmiennych tego samego typu danych. Jest ona stosowana do zgrupowania razem zmiennych zależnych. Na przykład, można stworzyć tablicę 100 liczb całkowitych w celu przechowywania numerów identyfikacyjnych NR_ID urzędników jakiegoś przedsiębiorstwa, zamiast tworzenia 100 niezależnych zmiennych. Każdy element tablicy jest zmienną z własnym numerem/ami indeksu; przeprowadzenie zmian w jednym elemencie tablicy nie wpływa na inne elementy. 12 12

Deklaracja tablic Dim Private Public NazwaTablicy(indeksy) [As TypDanych] Dim Sprzedaż(5) Dim NrRachunku(700 To 799) As Integer Dim Dim Wspołrz(4, 1 To 3) As Byte Wspołrz(0 To 4, 1 To 3) As Byte Do elementu tablicy odwołujemy się podając nazwę tablicy i indeks umieszczony w nawiasach: 13 Sprzedaż(0), Sprzedaż(1)...Sprzedaż(5) NrRachunku(700)...NrRachunku(799) Numer początkowy indeksu tablic możemy zmienić z 0 na 1 stosując instrukcję Option Base 1. Instrukcje tę należy wpisać na początku modułu w sekcji deklaracji, czyli przed pierwszą występującą w nim procedurą. 13

Deklaracja tablic Dim Wspołrz(4, 1 To 3) As Byte Do elementu tablicy odwołujemy się podając nazwę tablicy i indeks umieszczony w nawiasach: Wspołrz(0,1), Wspołrz(0,2), Wspołrz(0,3) Wspołrz(1,1), Wspołrz(1,2), Wspołrz(1,3) Wspołrz(2,1), Wspołrz(2,2), Wspołrz(2,3) Wspołrz(3,1), Wspołrz(3,2), Wspołrz(3,3) Wspołrz(4,1), Wspołrz(4,2), Wspołrz(4,3) 14 14

Dynamiczna deklaracja tablic Dim Private Public NazwaTablicy() [As TypDanych] ReDim [Preserve] NazwaTablicy(indeksy) [As TypDanych] 15 Sub DeklDyn() Dim n As Byte Dim l As Byte Dim MojaTabl() As Integer n = InputBox("Podaj rozmiar tablicy") ReDim MojaTabl(n) l = 1 ' Deklaracja tablicy dynamicznej. ' Określenie rozmiaru tablicy. 10: MojaTabl(l) = InputBox("Podaj " & Str(l) & "-szy element wektora") If l < n Then l = l + 1 GoTo 10 End If ReDim Preserve MojaTabl(20) ' Zmień rozmiar z zachowaniem wcześniej wprowadzonych wartości. End Sub 15

Typy użytkownika Niezależnie od wbudowanych typów danych można tworzyć struktury danych będące kombinacją kilku istniejących już typów. Type Klient Nr_ewid As Long Nazwisko As String Adres As String Miasto As String Kod As String Telefon As String End Type Dim MoiKlienci(1000) As Klient 16 16

Typy użytkownika Dostęp do elementów struktury następuje przez podanie nazwy struktury, po niej kropki, a następnie - nazwy konkretnego elementu: MoiKlienci (10).Nr_ewid = 345216 MoiKlienci (10).Nazwisko = Jan Kowalski MoiKlienci (10).Adres = ul. Gwiazdy 4 MoiKlienci (10).Miasto = Kraków MoiKlienci (10).Kod = 01-773 MoiKlienci (10).Telefon = 12-34-567 17 17

VBA - wyrażenia Wyrażeniem nazywamy regułę obliczania, w wyniku której otrzymujemy pewną wartość. Wyrażenie składa się z sensownej kombinacji argumentów i operatorów. Wyrażenie nie stanowi samodzielnej instrukcji języka VBA - jest jedynie jej częścią składową. 18 W zależności od rodzaju operatorów i argumentów wyróżnia się: wyrażenia arytmetyczne, wyrażenia logiczne, wyrażenia porównania, wyrażenia konkatenacji. a+b a*(b-d) sin(x)/z not v (a<b) and (b>c) ala & ma 18

VBA - wyrażenia Operatory dzielimy na: jednoargumentowe, dwuargumentowe. Jeżeli w wyrażeniu występuje więcej niż jeden operator, to kolejność wykonywania działań jest wyznaczona przez następujące zasady: w pierwszej kolejności wykonywane są działania w najbardziej wewnętrznych nawiasach, najpierw wykonywane są operacje o wyższym priorytecie, ciąg operatorów o równym priorytecie wykonywany jest od strony lewej do prawej. 19 19

Wyrażenia arytmetyczne Wyrażenie arytmetyczne stosuje się do obliczania wartości liczbowych za pomocą operacji arytmetycznych. W wyrażeniach tego typu argumenty połączone są operatorami arytmetycznymi. Każde wyrażenie arytm. składa się z elementarnych wyrażeń postaci: operator_jednoargumentowy argument argument1 operator_dwuargumentowy argument2 20 20

Operatory arytmetyczne Operator Operacja + (jednoarg.) identyczność - (jednoarg.) zmiana znaku ^ potęgowanie * mnożenie / dzielenie \ dzielenie całkowite mod reszta z dzielenia + dodawanie - odejmowanie 21 21

Operatory arytmetyczne Wykonywana operacja Symbol operatora Przykład Wynik działania (zwracana wartość) Dodawanie + 2+5 7 Odejmowanie - 10-8 2 Mnożenie * 2*3 6 Dzielenie / 10/4 2,5 Dzielenie całkowite \ 10\4 2 Reszta z dzielenia Mod 10 mod 3 1 Potęgowanie ^ 3^2 9 Zmiana znaku liczby - 5-5 22 22

Operatory arytmetyczne 23 Zapis matematyczny ab c d a* b c d -a+b -(a+b) abc a b ( c d) a b c c a d b b a b Zapis w języku VBA a*b+c/d (a*b+c)/d jak po lewej jak po lewej a*b*c a/b*(c+d) lub a*(c+d)/b a/b*c+d lub a*c/b+d (a+b)/(c+b/(a-b)) 23

Wyrażenia logiczne Operatory logiczne służą do wykonywania operacji logicznych na argumentach typu Boolean not argument argument1 operator_dwuargumentowy argument2 Operator not (jednoarg.) and or xor Operacja negacja koniunkcja alternatywa różnica symetryczna 24 24

Wyrażenia logiczne x true false true false y false false true true not x false true false true not y true true false false x and y false false true false x or y true false true true x xor y true false false true 25 25

Wyrażenia porównania Wyrażenia porównania (relacje) dotyczą dowolnych argumentów dowolnych typów o typach zgodnych. Wynikiem działania operatorów porównania jest wartość logiczna prawda lub fałsz (true lub false). argument1 operator_porównania argument2 Nazwa operatora Symbol Przykład Wynik działania Nierówność < > 2 < > 1 Prawda 2 < > 2 Fałsz Równość = 3 = 3 Prawda 3 = 5 Fałsz 26 Większe > 4 > 0 Prawda 4 > 6 Fałsz 26

Wyrażenia porównania 27 Nazwa operatora Większe lub równe > = Mniejsze < Mniejsze lub równe Porównanie łańcuchów Symbol Przykład Wynik działania <= Like 5 >=5 Prawda 5 >=1 Prawda 5 >= 8 Fałsz 6 < 8 Prawda 6 < 1 Fałsz 7 <= 7 Prawda 7 <= 8 Prawda 7 <= 1 Fałsz AGH like AGH Agh like AGH Prawda Fałsz 1 like 1 Prawda 1 like 2 Fałsz 27

Wyrażenia konkatenacji Operatory znakowe wykorzystuje się do łączenia łańcuchów znaków. Podstawowym operatorem znakowym jest & (ampersand). Operator ten umożliwia przeprowadzenie konkatenacji dwóch lub większej liczby ciągów znakowych, jak i ciągów znakowych z wartością przechowywaną przez zmienną lub stałą. Sub Przyklad() Dim Napis As String Dim Cena As Single Dim Informacja As String Napis = "Cena towaru wynosi: " Cena = 15.95 Informacja = Napis & Str(Cena) & " zł (brutto)" MsgBox Informacja 28 End Sub 28

Priorytety operatorów Jeżeli w wyrażeniu wystąpi kilka operatorów, każda część jest obliczana i sprawdzana w oparciu o kolejność priorytetów operatorów. Jeżeli wyrażenie zawiera operatory należące do różnych kategorii, najpierw wykonywane są działania operatorów arytmetycznych, potem operatorów porównania i operatorów logicznych. Wszystkie operatory porównania mają taki sam priorytet i wykonywane są w takim porządku, w jakim znajdują się w wyrażeniu, w kolejności od lewej do prawej. 29 29

Priorytety operatorów Arytmetyczne Potęgowanie (^) Negacja ( ) Mnożenie i dzielenie (*, /) Dzielenie całkowite (\) Reszta z dzielenia (Mod) Dodawanie i odejmowanie (+, ) Łączenie ciągów (&) Logiczne Not And Or Xor 30 30