VISUAL BASIC. deklaracja nazwa As typ_zmiennej. deklaracja Dim, Private zasięg lokalny. - Public zasięg globalny Liczby całkowite: BYTE [0..

Podobne dokumenty
Wprowadzenie do programowania w VBA

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

Algorytmika i Programowanie VBA 1 - podstawy

LibreOffice Calc VBA

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

Technologia informacyjna programowanie Janusz Uriasz

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

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

Visual Basic for Application (VBA)

Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 5. MessageBox, InputBox, instrukcja Select Case i instrukcje pętli.

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

Instrukcje cykliczne (pętle) WHILE...END WHILE

Visual Basic for Application (VBA)

Plik->Opcje->Zakladka Główne->Dostosuj Wstążkę Zaznaczamy kwadracik Developer na liscie po prawej stronie. Klikamy OK.

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

VBA 1 VBA TYPY PROCEDUR (PODPROGRAM, FUNKCJA) ZMIENNE, DEKLARACJA ZMIENNYCH FUNKCJA MsgBox

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

Pętle instrukcje powtórzeo

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

Visual Basic for Application (VBA)

1 Podstawy c++ w pigułce.

Visual Basic for Applications. Wstęp

MsgBox(Komunikat [, Przyciski] [, Tytuł] [, PlikHelp, HelpContext])

Aplikacje w środowisku VBA. Visual Basic for Aplications

Kiedy i czy konieczne?

Cw.12 JAVAScript w dokumentach HTML

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Podstawy informatyki

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.

Visual Basic dla AutoCAD

Visual Basic dla Aplikacji

Automatyzacja pracy w AutoCAD

Maxima i Visual Basic w Excelu

Pascal - wprowadzenie

1 Algorytmy. Algorytmy i VBA. 1. Zapoznaj się z symboliką schematów blokowych.

Technologie informacyjne

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

Podstawy Programowania Podstawowa składnia języka C++

PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC

Programowanie w Turbo Pascal

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

Materiały do laboratorium MS ACCESS BASIC

Zastanawiałeś się może, dlaczego Twój współpracownik,

PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC

1 Podstawy c++ w pigułce.

Podstawy JavaScript ćwiczenia

Automatyzacja plików graficznych

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

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

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

VBA obiekty AutoCADa 1

PRACA Z FORMULARZAMI UserForm

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

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

Umieszczanie kodu. kod skryptu

Wprowadzenie do Scilab: podstawy języka Scilab

Przygotowanie własnej procedury... 3 Instrukcja msgbox wyświetlanie informacji w oknie... 6 Sposoby uruchamiania makra... 8

VISUAL BASIC W EXCELU

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Programowanie w języku Python. Grażyna Koba

ZMIENNE. Podstawy PHP

Działki Przygotowanie organizacyjne

INSTRUKCJA SKOKU GOTO

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

Programowanie Delphi obliczenia, schematy blokowe

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

Makropolecenia w PowerPoint Spis treści

PROGRAMOWANIE OBIEKTOWE: VISUAL BASIC VISUAL BASIC FOR APPLICATION (VBA) NA PRZYKŁADZIE EXCELA

JAVAScript w dokumentach HTML (1)

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

Zmienne, stałe i operatory

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Informatyka II. Laboratorium Aplikacja okienkowa

Zadanie 1. Stosowanie stylów

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

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY.

Makropolecenia w Excelu

Nazewnictwo zmiennych

2 Przygotował: mgr inż. Maciej Lasota

Tworzenie makr warunkowych

Visual Basic Debugging and Error Handling

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA

COMARCH IT AKADEMIA. Programista VBA w Microsoft Excel (microbootcamp)

VBA praca z makrami w Excelu

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

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

Rozwiązywanie równań nieliniowych

JAVAScript w dokumentach HTML - przypomnienie

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

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

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Spis tre ci. Rozdzia 1. Co to jest VBA Rozdzia 2. Makropolecenia Rozdzia 3. Jak uruchomi edytor Visual Basic... 31

Visual Basic w programie Excel dla Windows

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

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

Transkrypt:

Poprawne nazewnictwo zmiennych i obiektów: VISUAL BASIC Nazwa powinna rozpoczynać się od litery; wewnątrz nazwy można używać znaku podkreślenia nazwa nie może zawiera znaków interpunkcyjnych:! @ & $ #?, *. { } ( ) [ ] = + -^ % / \~ < > : ; nazwa nie może zawierać spacji; nie wskazane jest stosowanie w nazwach polskich liter; nazwa zmiennej może maksymalnie zawierać255 znaków; nazwa formularza lub formantu może zawierać do 40 znaków; nazwa nie może być taka sama jak nazwa funkcji, instrukcji lub metody wbudowanej; moduł kodu nie może zawierać procedur o tych samych nazwach; nazwy zmiennych mogą się powtarzać, gdy są deklarowane lokalnie w procedurach, a nie w sekcji deklaracji modułu należy zwrócić uwagę, że VBA nie rozróżnia wielkich i małych liter. Typy zmiennych: Opis Deklaracje zmiennych Schemat deklaracja nazwa As typ_zmiennej deklaracja Dim, Private zasięg lokalny - Public zasięg globalny Liczby całkowite: BYTE [0..255] INTEGER [-32768..32767] LONG [-2mld..2mld] Liczby rzeczywiste: Zmienne i typy danych SINGLE DOUBLE Tekst: pojedyncza dokładność podwójna dokładność STRING długość dynamiczna (max ok 2mld znaków) STRING*D stała dł. D = 0..65535 Logiczne: BOOLEAN 2 wartości: True, False 1) Operatory porównawcze: Operatory = równa się/przypisanie wartości zmiennej > większe

>= większe równe < mniejsze <= mniejsze równe <> różne 2) Operatory arytmetyczne: + dodawanie odejmowanie * mnożenie / dzielenie ^ potęgowanie \ dzielenie całkowite MOD reszta z dzielenia całkowitego 3) Operatory łączenia tekstów: + łączy dwa teksty & wymusza łączenie tekstu z innym typem danych ZWF [operator ZWF operator ZWF...] gdzie: Wyrażenie ZWF zmienna lub wartość lub funkcja operator operator inny niż logiczny NOT() zaprzeczenie Operatory logiczne () AND () koniunkcja () OR () alternatywa 1) pojedynczy: wyrażenie operatorp wyrażenie gdzie: Wyrażenie logiczne (Warunek) wyrażenie opisano wcześniej operatorp operator porównawczy 2) złożony: (warunek1) operatorl (warunek2) gdzie: warunek1, warunek2 warunki pojedyncze operatorl operator logiczny

IF warunek1 THEN ciąg instrukcji Instrukcja warunkowa [ELSEIF warunek2 THEN ciąg instrukcji] [ELSE ciąg instrukcji] END IF SELECT CASE parametr CASE wartość1 ciąg instrukcji [CASE wartość2 Instrukcja wyboru ciąg instrukcji] [.] [CASE ELSE ciąg instrukcji] END SELECT FOR licznik = wp TO wk [STEP wartość] ciąg instrukcji Pętla FOR NEXT licznik wp-wartość początkowa wk-wartość końcowa wartość liczba całkowita dodatnia DO [WHILE/UNTIL warunek] Pętla DO/LOOP Wbudowane funkcje liczbowe ciąg instrukcji LOOP [WHILE/UNTIL warunek] S As STRING X As DOUBLE

STR(X) -zamienia liczbę na tekst SIN(X), COS(X), TAN(X) f-cje trygonom. (X kąt w radianach) ATN(X) -arcus tangens wynik w rad. SQR(X) -pierwiastek kwadratowy (X>=0) ABS(X) -wartość bezwzględna SGN(X) (-1 dla X<0, 0 dla X=0, 1 dla X>0) FIX(X) -zwraca część całkowitą z X INT(X) -jw ale ujemne zaokrągla w dół RND -losuje liczbę rzeczywistą <0, 1> LOG(X) -logarytm naturalny z X EXP(X) -odwrotność LOG(X) S, S1 As STRING K, L As INTEGER VAL(S) LEN(S) -zamienia tekst na liczbę -długość tekstu/liczba znaków LEFT(S, L) -wycina L pierwszych znaków Wbudowane funkcje tekstowe RIGHT(S, L) -wycina L ostatnich znaków MID(S, K, L) -wycina L znaków z poz. K INSTR(S, S1) -szuka pozycji S1 w S INSTR(K, S, S1) -jw ale zaczyna od poz K TRIM(S) -obcina spacje na pocz. i końcu LCASE(S) -zamienia na małe litery UCASE(S) -zamienia na wielkie litery

1) Jako procedura: MsgBox tekst1, ikona+przyciski, tekst2 2) Jako funkcja: =MsgBox(tekst1, ikona+przyciski, tekst2) tekst1 komunikat pojawiający się w oknie tekst2 tytuł okienka ikona: vbinformation ikonka informacyjna MsgBox vbquestion znak zapytania vbexclamation wykrzyknik vbcritical znak krytycznego błędu przyciski: vbokonly tylko OK (można pominąć vbokcancel OK/Anuluj vbyesno Tak/Nie vbyesnocancel Tak/Nie/Anuluj InputBox vbabortretryignore Przerwij/Ponów/Zignoruj = InputBox(komunikat) deklaracja SUB nazwa(parametry) ciąg instrukcji END SUB Procedura deklaracja rodzaj deklaracji procedury (zasięg działania): Private widoczna tylko w części kodu, w której jest deklarowana; Public widoczna w całym programie; nazwa procedurę wywołuje się za pomocą zadeklarowanej nazwy; parametry zmienne podawane przy wywołaniu procedury. dekl. FUNCTION nazwa(parametry) As typ Funkcja ciąg instrukcji nazwa = wynik

END FUNCTION dekl. rodzaj deklaracji (patrz wyżej) nazwa, parametry patrz wyżej wynik nazwie funkcji musi być przypisane jakieś wyrażenie obliczające wynik działania funkcji związany z jej typem. Okno Edytora Środowisko edytora składa się z następujących elementów: pasek poleceń i menu z opcjami file, edit, view itd., przybornik - daje dostęp do formantów systemu Visual Basic, okno właściwości - umożliwia zmianę właściwości obiektów, okno eksploratora projektu - umożliwia przełączanie się między składnikami projektu, okno projektu - w nim znajduje się obiekt z rozmieszczonymi formantami, okno kodu - w nim wpisujemy kod programu. Początek Moduły-nowy- Nadawanie nazwy: zaznaczyć nazwę _w oknie Properties tak, jak to widać na rysunku, i wpisać inną nazwę. Na pasku narzędziowym klik na przycisk Save. Nazwę modułu można również zmienić klikając ją prawym przyciskiem myszy w oknie dialogowym Baza danych i wybierając z menu podręcznego polecenie Zmień nazwę.

Zapis kodu Kod VBA jest zapisywana w blokach zwanych procedurami. Dzielimy je na dwa rodzaje: procedury typu Sub (podprogramy) i procedury typu Function. Podprogramy wykonują zadania, ale nie zwracają wartości, funkcje zwracają wartość. Na górze modułu widać: Option Compare Database. Są to deklaracje ogólne modułu. Zapis ten umożliwia wybranie jednego z trzech sposobów sortowania łańcuchów znakowych wewnątrz kodu: Option Compare Database powoduje sortowanie w takim samym porządku jak sortowanie rekordów bazy danych i jest to opcja najczęściej stosowana. Zadanie Ustaw ToolsOptions-require variables aby wymusić deklarowanie zmiennych przed ich użyciem. Napisz Sub addnumbers() i naciśnij Enter zostanie dodana zdania zamykające End Sub rozpoczynanie nazwy od małej litery wcinania kod procedur staranne komentowanie, komentarza rozpoczynamy od apostrofu, zostaje on wyróżniony na zielono Co oznaczają poszczególne kolory, można zobaczyć, w Tools/Options. Po otwarciu okna dialogowego Options karta Editor Format pokaże znaczenie poszczególnych kolorów i pozwoli na dokonanie zmian schematu Deklarowanie zmiennych Deklarując zmienną określa się typ danych jaki może przyjmować ta zmienna. Aby to zrobić, należy użyć instrukcji Dim. Słowo Private określa deklarowanie zmiennej prywatnej a Public zmiennej publicznej. Nadawanie wartości zmiennym NazwaZmiennej = Wyrażenie Przykład użycia operatora podstawienia: intliczba = 1 intkomunikat = MsgBox ("To jest komunikat") Zmiennej intliczba przypisywana jest wartość 1. Zmiennej intkomunikat przypisywany jest wynik działania funkcji MsgBox() (najpierw wykonywana jest funkcja, a po jej zakończeniu otrzymany z funkcji wynik jest przypisywany zmiennej). Typ danych zapisywanego wyrażenia musi być zgodny z typem danych zmiennej NazwaZmiennej = NazwaZmiennej operator Wyrażenie Operator jest operatorem matematycznym, logicznym lub łańcuchowym (w zależności od typu zmiennej). Ponieważ najpierw jest wykonywane działanie po prawej stronie, więc najpierw zostanie

obliczona wartość tam występująca a dopiero potem nowa wartość zostanie podstawiona pod zmienną NazwaZmiennej. Przykład: intliczba = 10 ntliczba = intliczba + 5 Zmiennej intliczba przypisywana jest wartość 10. Wartość zmiennej intliczba zostanie zwiększona później o 5 (10+5) i przypisana zmiennej intliczba. Po wykonaniu podstawienia zmienna intliczba będzie miała wartość 15. Zmienne prywatnego poziomu modułu Zmienne z zasięgiem prywatnego poziomu modułu są widzialne dla wszystkich procedur w ich macierzystym formularzu lub module, ale nie dla innych formularzy lub modułów. Przykład zadeklarować sngliczba jako zmiennej Single prywatnego poziomu modułu: Private sngliczba As Single Zmienne poziomu modułu są przydatne do obliczeń, których wyniki mają być wspólne dla różnych procedur w jednym formularzu lub module. Zmienne publicznego poziomu modułu Zmienne z zasięgiem publicznego poziomu modułu są widzialne dla każdej procedury w każdym formularzu w całym projekcie Public strkomunikat As String Zmienne publicznego poziomu modułu są przydatne do obliczeń, których wyniki powinny być wspólne dla całości projektu ze wszystkimi formularzami i/lub modułami. Przesłanianie Visual Basic umożliwia deklarowanie tej samej nazwy dla zmiennych lub stałych symbolicznych różnych zasięgów. Na przykład, można zadeklarować dwie zmienne intnumber w ogólnym module: jedną zmienną publiczną, a drugą zmienną prywatną. Która z tych dwóch zmiennych będzie używana w Visual Basic zależy od tego, która część kodu została uruchomiona, kiedy została zastosowana zmienna. Jeżeli procedura, w której zadeklarowaliśmy prywatną zmienną intnumber, została uruchomiona, Visual Basic będzie używał zmiennej prywatnej intnumber. Jeżeli ta procedura nie została uruchomiona, Visual Basic zastosuje zmienną publiczną intnumber. Zmienne publiczne zostają przesłonięte przez zmienne prywatne o tej samej nazwie. Wartość zmiennej publicznej nie ulegnie zmianie a każde odwołanie do zmiennej będzie się odnosiło do zmiennej prywatnej. Visual Basic zawsze używa zmiennej, która jest bliższa uruchomionemu kodowi.

Stałe Jeżeli w programie używać będziemy zmiennej posiadającej jedną-niezmienną wartość wówczas zadeklarujemy ją jako stałą. Const nazwa_stalej = wartosc Możemy zadeklarować stale publiczne lub prywatne wraz z wskazaniem typu. [Public Private] Const nazwa_stalej [As type] = wartosc Zadanie Wpisz: Sub addnumbers() 'deklaracja zmiennych Dim intnumber1 As Integer Dim intnumber2 As Integer Dim intsun As Integer End Sub Zostaną zapamiętane dwie liczby. Po dodaniu ich suma zostanie zapamiętana w zmiennej intsun Variant Variant pozwala VBA na samodzielne określanie, jaki typ danych jest zapamiętywany. Jest to domyślny typ zmiennych, jeżeli w deklaracji zmiennej pominiemy klauzule As Integer. Wielu programistów uważa, że użycie zbyt wielu zmiennych typu varianyt powoduje zbędne zajmowanie pamięci i spowalnia działanie kodu Użycie funkcji InputBox Wpisz Sub addnumbers() 'deklaracja zmiennych Dim intnumber1 As Integer Dim intnumber2 As Integer Dim intsun As Integer 'uzycie InputBox do wprowadzenia liczb intnumber1 = InputBox("Wpisz pierwszą liczbę") intnumber2 = InputBox("Wpisz drugą liczbę") End Sub

Uruchom kod, klikając przycisk Run: Spowoduje to wyświetlenie pokazanego tu okna dialogowego do wprowadzenia pierwszej liczby (do wprowadzenia drugiej liczby zostanie wyświetlone oddzielne okno). Jeżeli dodamy zapis: 'Wyjście informacji Debug.Print "Podane liczby to " & intnumber1 & " i " & intnumber2 To podane liczby pokażą się na dole w oknie Immediat. Jeśli go nie ma, to View-Immediate. Innym sposobem formatowania wyjścia jest użycie okna komunikatów

Struktura decyzyjna Wpisz Sub iftekst() Dim intnum As Integer Dim strmessage As String intnum = 12 If intnum > 10 Then strmessage = "Liczba jest równa " & intnum End If Debug.Print strmessage End Sub Wynik działania: Liczba jest równa 12 Poprawiamy kod

Zadanie Użyj funkcji wbudowanych do wprowadzania liczby i wyświetlania wyjściowego komunikatu Sub iftekst() Dim intnum As Integer Dim strmessage As String 'uzycie InputBox do wprowadzenia liczby intnum = InputBox("Wpisz liczbę") If intnum > 10 Then strmessage = "liczba jest większa od 10" Else strmessage = "liczba jest mniejsza lub równa 10" End If Debug.Print strmessage 'Komunikator MsgBox "Podana " & strmessage & " End Sub Warunki złożone Zmodyfikuj kod, opisz działanie programu Option Compare Database Option Explicit Private intnum As Integer Sub iftekst() Dim strmessage As String 'uzycie InputBox do wprowadzenia liczby

intnum = InputBox("Wpisz liczbę od 1 do 15") If intnum >= 1 And intnum <= 15 Then iftest2 Else MsgBox "Liczba musi byc z przedziału od 1 do 15" End If End Sub Sub iftest2() If intnum > 10 Then MsgBox intnum & " jest większa od 10" Else MsgBox intnum & " jest mniejsza lub równa 10" End If End Sub Zadeklarowano zmienną intnum jako globalną Instrukcja ElseIf Option Compare Database Option Explicit Sub iftekst() Dim intnum As Integer intnum = 12 If intnum = 1 Then Debug.Print "To jest najmniejsza liczba" ElseIf intnum = 15 Then Debug.Print "To jest największa liczba"

Else Debug.Print "To jest liczba większa od 1 i mniejsza od 15" End If End Sub Instrukcja Select Case Zastępuje wielokrotne używanie instrukcji ElseIf