Technologia Informacyjna. Michał Pazdanowski



Podobne dokumenty
Podstawy Informatyki. Michał Pazdanowski

Visual Basic for Applications. Formatki tworzenie,

Algorytmika i Programowanie VBA 1 - podstawy

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

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

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

Kiedy i czy konieczne?

Program szkolenia PODSTAWY VBA (VISUAL BASIC FOR APPLICATIONS) I FORMULARZE.

Wprowadzenie do programowania w VBA

Visual Basic for Applications. Wstęp

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

wstawianie przycisków umożliwiających wybieranie wartości poprzez klikanie strzałek

Arkusze kalkulacyjne i VBA

LibreOffice Calc VBA

Aplikacje w środowisku VBA. Visual Basic for Aplications

PRACA Z FORMULARZAMI UserForm

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

Język ludzki kod maszynowy

VBA-podstawy cz. 1. Począwszy od wersji Office 2010 skoroszyty Excel wsparte makrami VB mają rozszerzenie.xlsm

Visual Basic for Application (VBA)

Technologia informacyjna programowanie Janusz Uriasz

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

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

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

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

Makra VBA w Excelu dla początkujących

Visual Basic w programie Excel

INSTRUKCJA SKOKU GOTO

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

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Materiały do laboratorium MS ACCESS BASIC

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

Visual Basic for Application (VBA)

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

Podstawy informatyki

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

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

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

Automatyzacja pracy w AutoCAD

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

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23)

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

Definicje. Algorytm to:

typ zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

VBA w Excel Lekcja ta ma przybliżyć pojęcia związane z programowaniem w pakiecie Office. Poniższe przykłady związane są z wersją Office2007.

Autor: dr inż. Katarzyna Rudnik

Podstawy programowania w języku C

Visual Basic for Application (VBA)

Visual Basic dla AutoCAD

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

AUTOMATYZACJA PRACY Z UŻYCIEM MAKR. Tom XII NPV WSP.KORELACJI ROZKŁ.EXP JEŻELI COS KOMÓRKA VBA DNI.ROBOCZE ILOCZYN LOG SUMA CZY.

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2018/2019

3. Podstawy programowania w MS EXCEL

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

Technologie informacyjne

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

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

Elementy języków programowania

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Technologie informacyjne: Excel i VBA

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

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

PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC

Utworzenie interfejsu graficznego za pomocą formularza użytkownika w VBA

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

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Algorytm. a programowanie -

Arkusze kalkulacyjne i VBA

Język programowania PASCAL

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Aplikacje geodezyjne

Obsługa blędów i zewnętrznych plików

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

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010

Języki skryptowe w programie Plans

PROGRAMOWANIE MAKR W PROGRAMIE EXCEL W JĘZYKU VISUAL BASIC

Do obiektów nie odwołujemy się bezpośrednio, tylko przez ich atrybuty i metody. Obiekt.identyfikator[.identyfikator]

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

Dodanie nowej formy do projektu polega na:

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

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

Algorytmy od problemu do wyniku

Kolumna Zeszyt Komórka Wiersz Tabela arkusza Zakładki arkuszy

Programowanie obiektowe

Instrukcja warunkowa i wyboru

Wprowadzenie do MS Excel

VISUAL BASIC W EXCELU

Parę uwag, uzupełnień

Laboratorium Programowania Kart Elektronicznych

O autorze (15) Podziękowania autora (17) Wstęp (19)

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

Microsoft Excel 2003 profesjonalna analiza i raportowanie oraz prezentacja danych

BAZY DANYCH Panel sterujący

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

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

Programowanie obiektowe

Transkrypt:

Technologia Informacyjna Michał Pazdanowski

3 marca 2010 Michał Pazdanowski 2 Etapy przygotowania obliczeń Sformułowanie problemu, Przygotowanie algorytmu rozwiązania, Zapis algorytmu schemat blokowy, Kodowanie algorytmu, Testowanie.

3 marca 2010 Michał Pazdanowski 3 Sformułowanie problemu Precyzyjny opis zagadnienia: co chcemy uzyskać, niezbędne dane, tok postępowania prowadzącego do wyniku, opracowanie wyników.

3 marca 2010 Michał Pazdanowski 4 Algorytm procedura obliczeniowa skończony ciąg operacji elementarnych, przetwarza dane wejściowe w wyniki, dotyczy klasy problemów podobnych, zależy od metody rozwiązania problemu.

3 marca 2010 Michał Pazdanowski 5 Algorytm poprawny, precyzyjny, przejrzysty, efektywny, wykorzystujący: biblioteki procedur standardowych, możliwości komputera wieloprocesorowość.

3 marca 2010 Michał Pazdanowski 6 Zapis algorytmu język potoczny, język matematyczny, schemat blokowy, języki algorytmiczne.

3 marca 2010 Michał Pazdanowski 7 Złożoność obliczeniowa czasowa czas potrzebny na wykonanie zadania, pamięciowa ilość pamięci RAM potrzebnej na wykonanie zadania, cel szacowania: określenie ilości zasobów potrzebnych do rozwiązania problemu, skalowanie niezbędnych zasobów w funkcji rozmiaru danych, złożoność pesymistyczna i oczekiwana.

3 marca 2010 Michał Pazdanowski 9 Klasy czynności arytmetyczne, logiczne, organizacyjne, wejścia, wyjścia.

3 marca 2010 Michał Pazdanowski 10 Schemat blokowy i kodowanie etap pomocniczy, ułatwienie kodowania, kontrola poprawności: algorytmu, programu; standard języka, kompilator, dokumentacja.

3 marca 2010 Michał Pazdanowski 11 Schemat blokowy PN 75/E - 01226 Sieć bloków START Tak Nie +-*/? We/Wy Wy STOP 1 arytmetyczne logiczne wejście wyjście 1 pomocnicze

3 marca 2010 Michał Pazdanowski 12 Schemat blokowy liniowy iteracyjny rozgałęziony złożony

3 marca 2010 Michał Pazdanowski 13 Testowanie błędy: formalne algorytmu wykonania eliminacja: formalne algorytmu wykonania niezgodność ze standardem, problem inny niż zadany, błędne dane, kompilator, testy, programowanie defensywne.

3 marca 2010 Michał Pazdanowski 14 Języki programowania liniowe BASIC, proceduralne FORTRAN, z grupowaniem danych PASCAL, C, obiektowo zorientowane C++, obiektowe Visual Basic.

3 marca 2010 Michał Pazdanowski 15 Programowanie obiektowe Struktura tablica uporządkowana przez umieszczenie jej elementów w nazwanych polach, Klasa struktura wraz z zestawem operatorów i funkcji dostosowanych do jej obsługi, Obiekt zmienna utworzona zgodnie z opisem podanym przez klasę, Metoda funkcja przeznaczona do obsługi danej klasy obiektów.

3 marca 2010 Michał Pazdanowski 16 Visual Basic Zastosowanie: makroinstrukcje komponentów pakietu MSOffice, nietypowe funkcje arkuszowe MSExcel, proste problemy obliczeniowe; Zalety: dostępność, użyteczność, otoczenie programowe, prostota języka, Wady:?

3 marca 2010 Michał Pazdanowski 17 Visual Basic wykonywanie działań kod Visual Basic, kod przechowywany w modułach: wraz z arkuszami.xls, edycja przy pomocy edytora VisualBasic, moduł zawiera funkcje i procedury. Sub Test() Iloczyn = 2*6 MsgBox Iloczyn & Iloczyn End Sub Function Suma(A1,A2) As Double Suma=Sqr Sqr(A1*A1+A2*A2) End Function

3 marca 2010 Michał Pazdanowski 18 operacje na obiektach: Visual Basic skoroszyty, arkusze, zakresy, wykresy, obiekty identyczne kolekcje (obiekty): Worksheets Charts wszystkie arkusze skoroszytu, wszystkie wykresy skoroszytu, obiekty tworzą strukturę hierarchiczną klasy: Application (excel), Workbook (skoroszyt), Worksheet (arkusz), Range (zakres), Pivot Table (tabela przestawna), Chart (wykres), Command Bar (pasek narzędzi).

3 marca 2010 Michał Pazdanowski 19 Visual Basic obiekty wyższego rzędu kontenery obiektów niższego rzędu: Application.Workbooks Workbooks(1) Application.Workbooks Workbooks(1) (1).Worksheets(1) Application.Workbooks Workbooks(1) (1).Worksheets(1).Cells(2,2).Value lokalizacja obiektu w hierarchii ścieżka:

3 marca 2010 Michał Pazdanowski 20 Visual Basic cechy obiektów właściwości:. odwołanie: nazwa_obiektu właściwość działania na obiekcie metody:. odwołanie: nazwa_obiektu metoda standardowe konstrukcje języków programowania: tablice, pętle, struktury.

3 marca 2010 Michał Pazdanowski 21 Visual Basic Lista obiektów, ich metod i właściwości: Excel Tools Macro VisualBasic Editor VisualBasic Editor View Object Browser wybrać obiekt Excel lub VisualBasic (VBA).

3 marca 2010 Michał Pazdanowski 22 Typy instrukcji arytmetyczna, sterująca zmiana sekwencji wykonania, wejścia/wyjścia przesłanie z/do pamięci, odwołanie do podprogramu, deklaracja informacja dla kompilatora.

3 marca 2010 Michał Pazdanowski 23 Symbole języka litery A Z cyfry 0 9 znaki specjalne: + - / * ^ ( ) < > = &,.! [ ]

3 marca 2010 Michał Pazdanowski 24 Literały bajt: 2 12 32 całkowite: -7 21 121 rzeczywiste: podwójnej precyzji: logiczne: tekstowe: 17.123 23.7E+2 15.3D+04 TRUE FALSE ALA MA ASA

3 marca 2010 Michał Pazdanowski 25 Zakres BYTE 0 255 INTEGER -32768 32767 LONG -2147483648 2147483647 SINGLE -/+ -45 1.40 40*10 38 3.40*10 DOUBLE -/+ -324 4.94*10 308 1.79*10

3 marca 2010 Michał Pazdanowski 26 Zakres SINGLE 0 *10-45 *10-45 -3.40*10-1. 1.40*10 1.40 40*10 3.40*10 0! DOUBLE 0-1.79*10 308 *10-324 -4.94*10 *10-324 4.94*10 0! 1.79*10 308

3 marca 2010 Michał Pazdanowski 27 Zmienne proste identyfikacja nazwa, typ zakres zmienności, deklaracja typu określenie typu: Dim A As Integer Dim J As Double Dim TT As Boolean Dim MsgTxt As String Dim Theta As Variant

3 marca 2010 Michał Pazdanowski 28 Zmienne indeksowane uporządkowany zbiór elementów tablica, uporządkowanie indeksy, zmienna indeksowana element tablicy, deklaracja typ, rozmiary i zakres indeksów, indeks stała, zmienna, wyrażenie całkowite.

3 marca 2010 Michał Pazdanowski 29 Zmienne indeksowane DEKLARACJE Dim A (1( 1 to 10, 1 to 12) As Integer 1 1 12 A 10-1 Dim B (-1( 1 to 5) 5 As Single B 5

3 marca 2010 Michał Pazdanowski 30 Zmienne indeksowane A(I, J) B(-1) numer kolumny numer wiersza ODWOŁANIE A(3*C+J 3*C+J, 6-4*W) C, J, W typu Integer lub Long pamiętanie w porządku leksykograficznym, maksimum 60 wskaźników, numeracja elementów automatycznie od 0.

3 marca 2010 Michał Pazdanowski 31 Funkcje standardowe Int(X) Fix(X) Abs(X) Exp(X) Log(X) Sgn(X) Sin(X) Cos(X) Tan(X) Sqr(X) x e x ln(x) znak sin(x) cos(x) tg(x) x ½

3 marca 2010 Michał Pazdanowski 32 Funkcje standardowe ZMIANA TYPU Cbool(W) Cbyte(W) CDbl(W) CSng(W) CInt(W) CLng(W) CStr(W) CVar(W) TEKSTOWE Chr(W) Left(txt txt,l) Right(txt txt,l) Len(txt txt) Ltrim(txt txt) Rtrim(txt txt) Trim(txt txt) Mid(txt txt,p,l)

3 marca 2010 Michał Pazdanowski 33 Wyrażenie arytmetyczne proste stała, zmienna, funkcja, złożone proste z nawiasami i operatorami, kolejność wyznaczania wartości: wyrażenia składowe, funkcje, operacje:» ^ potęgowanie,» * / mnożenie, dzielenie,» + - dodawanie, odejmowanie; przy równym priorytecie od lewej do prawej, zmiana kolejności nawiasy ( ).)

3 marca 2010 Michał Pazdanowski 34 Wyrażenie arytmetyczne Kolejność obliczania wartości log(x)+as AS*4.1-X12^2/2.1E-11+(3.14+Y)/0.3 1 4 3 2 7 X = A/B*C 8 A B *C 9 5 6 X = A/(B*C) A szybciej (1 dzielenie) X = A/B/C B*C wolniej (2 dzielenia)

3 marca 2010 Michał Pazdanowski 35 Wyrażenie arytmetyczne typ I R DP + - / * I R przykłady DP I R DP R R DP DP DP DP ^ A B A^B I R DP I R I R I R I R R R DP DP 2 W SIN(P) A-7.3 A 5.7*Z^3 3 (X-Y) Y)/(V+W) W)^3 A A/B*C B *C A B*C

3 marca 2010 Michał Pazdanowski 36 Wyrażenie logiczne proste stała, zmienna i funkcja logiczna, relacja, złożone proste z nawiasami i operatorami, kolejność wyznaczania wartości: wyrażenia arytmetyczne w relacjach, operatory relacji, funkcje logiczne, nawiasy, NOT negacje, AND koniunkcje, OR alternatywy, XOR alternatywy wykluczające, EQV równoważności, IMP implikacje, wynik TRUE lub FALSE.

3 marca 2010 Michał Pazdanowski 37 Operatory Logiczne: NOT negacja, AND koniunkcja, OR alternatywa, XOR alternatywa wykluczająca, EQV IMP równoważność, implikacja; Relacji: = równy, <> różny, < mniejszy, <= mniejszy lub równy, > większy, >= większy lub równy.

3 marca 2010 Michał Pazdanowski 38 Wyrażenie logiczne Przykłady Dim C As Single,, D As Single,, X As Single, Y As Single Dim A As Boolean,, B As Boolean Dim W1 As Boolean,, W2 As Boolean,, W3 As Boolean TRUE FALSE C = D W1 AND W2 OR W3 C >= D OR A AND B A OR B AND NOT X = Y A OR (B AND ( NOT (X = Y)))

3 marca 2010 Michał Pazdanowski 39 Wyrażenie logiczne Kolejność obliczania wartości NOT I > 0 AND I + 2 > 0 OR TRUE 5 1 2 3 6 7 4

3 marca 2010 Michał Pazdanowski 40 Instrukcja podstawienia nazwa zmiennej = wyrażenie arytmetyczne nazwa zmiennej = wyrażenie logiczne W = 71.345 ETA = ETA+Z*(J+7)*2 SEC = W+SQR(SEC+A)

3 marca 2010 Michał Pazdanowski 41 Instrukcje sterujące zmiana kolejności wykonywania instrukcji, etykieta: zaczyna się od litery, kończy : od pierwszej kolumny, nie każda instrukcja musi ją mieć, typ: bezwarunkowe, uwarunkowane.

3 marca 2010 Michał Pazdanowski 42 GO TO bezwarunkowe GO TO Go To et et: Go To ala Go To ala ala:

3 marca 2010 Michał Pazdanowski 43 IF logiczne IF If wyr. log. Then instr. uw. If A < 0. Then A = -A T? N

3 marca 2010 Michał Pazdanowski 44 IF logiczne IF If wyr. log. Then Else End If T? N If A > B Then A = A + 2. * B Else A = A - 2. * B End If

3 marca 2010 Michał Pazdanowski 45 FOR realizacja cyklu FOR For i = w1 To w2 Step w3 Next S = 1 For I = 1 To N Step 1 S = S * I Next? N T

3 marca 2010 Michał Pazdanowski 46 DO realizacja cyklu DO Do While wyr. log. Loop? N A = 10 B = -20 Do While A > B A = A + Abs(B) Loop T

3 marca 2010 Michał Pazdanowski 47 DO realizacja cyklu DO Do Loop While wyr. log. A = 10 B = -20 Do A = A + Abs(B) Loop While A > B? N T

3 marca 2010 Michał Pazdanowski 48 DO realizacja cyklu DO Do Until wyr. log. Loop? T A = 10 B = -20 Do Until A > B A = A + Abs(B) Loop N

3 marca 2010 Michał Pazdanowski 49 DO realizacja cyklu DO Do Loop Until wyr. log. A = 10 B = -20 Do A = A + Abs(B) Loop Until A > B? T N

3 marca 2010 Michał Pazdanowski 50 CASE struktura CASE Select Case wyr. Case a Case b to c Case Else End Select Select Case I Case -2 I = Abs(I) Case 4 To 6 I = Sqr(I) Case Else Debug.Print I End Select

3 marca 2010 Michał Pazdanowski 51 WITH struktura WITH With obiekt End With With Selection Font.Bold = TRUE Font.Italic = FALSE WrapText = FALSE End With

3 marca 2010 Michał Pazdanowski 52 On Error obsługa błędów On Error GoTo et et: On Error Resume Next On Error GoTo 0 On Error GoTo Errors Exit Sub Errors: MsgBox Błąd, _ vbokonly, Błąd _ wykonania End Sub

3 marca 2010 Michał Pazdanowski 53 Wymiana informacji komórki arkusza, pliki, funkcje InputBox, MsgBox, formularze użytkownika.

3 marca 2010 Michał Pazdanowski 54 Format funkcja FORMAT: Format (w, s ) ) wynik łańcuch znaków tekstowych, w - wyrażenie do sformatowania, s - specyfikacja formatu:» opis pola,» znaki,. # 0 %.%

3 marca 2010 Michał Pazdanowski 55 Format, - separator tysięcy,. - separator części dziesiętnej, # - pozycje opcjonalne, 0 - pozycje obligatoryjne, %- wynik w procentach: Format(4, 0.00% ) Format(3432.211, #,##0.00 ) Format(227.1, #0.00 )

3 marca 2010 Michał Pazdanowski 56 Format K = -1245, L = 12, R1 = -4233.28978 Txt = Format(K,, #,##0.00 ) Txt = -1,245.00 Txt = Format(L,, #,##0.0% ) Txt = 1,200.0% Txt = Format(R1 R1,, #0.00 ) Txt = -4233.29

3 marca 2010 Michał Pazdanowski 57 Komórki arkusza Cells(I,J). ).Value J X = Cells(8,2). (8,2).Value Cells(5,1). (5,1).Value = Y I Cells(I,J)

3 marca 2010 Michał Pazdanowski 58 Pliki REKORDY ZNACZNIK DOSTĘPU 123 5 4 6... ZNACZNIK DOSTĘPU 123 5 4 6...

3 marca 2010 Michał Pazdanowski 59 Pliki zapis: sformatowany, niesformatowany, dostęp: sekwencyjny, bezpośredniego dostępu, rekord: stałej długości, zmiennej długości, operacje: otwarcie, zamknięcie, przewijanie, zapis/odczyt.

3 marca 2010 Michał Pazdanowski 60 Otwarcie Open ścieżka For tryb Access dostęp As #numer Len rekord ścieżka tryb Append dostęp Read numer rekord - nazwa pliku z pełną ścieżką dostępu, - tryb pracy: Append/Binary/Input/Output/Random - dozwolone operacje: Read/Write Read Write - numer urządzenia (od 1 do 512), - długość rekordu w bajtach.

3 marca 2010 Michał Pazdanowski 61 Zamknięcie Close #numer numer - numer urządzenia wejścia/wyjścia.

3 marca 2010 Michał Pazdanowski 62 Instrukcje we/wy wejście Input #p, l wyjście Print #p, l Write #p, l p l numer pliku wejścia/wyjścia, lista wejścia/wyjścia: w1, w2, w3,...

3 marca 2010 Michał Pazdanowski 63 Instrukcje we/wy Przykład Dim MsgTxt As String Dim Liczba As Long Input #4, MsgTxt,, Liczba Print #2, MsgTxt, MsgTxt Write #5, Liczba Write #6, Ala ma kota

3 marca 2010 Michał Pazdanowski 64 Pliki Przykład Open Plik For Output As #1) For I=1 To 100 Write #1 A(I) Next Close #1

3 marca 2010 Michał Pazdanowski 65 Funkcje we/wy InputBox( ( Opis, Nagłówek,Type:= #)#

3 marca 2010 Michał Pazdanowski 66 Funkcje we/wy Typ (#):( 0 - formuła MS-Excel 1 - liczba 2 - łańcuch znaków 4 - stała logiczna (True( lub False) 8 - zakres komórek (obiekt Range) 16 - wartość błędna (np. #N/A) 64 - tablica wartości Dopuszcza się sumowanie powyższych wartości.

3 marca 2010 Michał Pazdanowski 67 Funkcje we/wy MsgBox( ( Tekst,Przyciski, Nagłówek )

3 marca 2010 Michał Pazdanowski 68 Funkcje we/wy Przyciski = 0 1 2 3 4 5 Przyciski = 16 32 48 64

3 marca 2010 Michał Pazdanowski 69 Formularze użytkownika formularz użytkownika, formanty Active-X, obsługa zdarzeń, procedury użytkownika (typu Private).

3 marca 2010 Michał Pazdanowski 70 Formularz użytkownika

3 marca 2010 Michał Pazdanowski 71 Formularz użytkownika UserForm# metody: Copy Cut Show Hide Load Unload własności: Caption Enabled Visible Height Width Left Top

3 marca 2010 Michał Pazdanowski 72 Formularz użytkownika Lista własności formularza według kategorii: wygląd, zachowanie, czcionka, różne, obrazek, pozycja, przewijanie

3 marca 2010 Michał Pazdanowski 73 Formanty Active-X Label# zdarzenia: Click MouseDown MouseMove MouseUp własności: Caption Enabled Font TextAlign

3 marca 2010 Michał Pazdanowski 74 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, czcionka, różne, obrazek, pozycja

3 marca 2010 Michał Pazdanowski 75 Formanty Active-X TextBox# zdarzenia: Change KeyDown KeyPress KeyUp MouseDown MouseMove MouseUp własności: Enabled Font TextAlign TextLength Value

3 marca 2010 Michał Pazdanowski 76 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, dane, czcionka, różne, pozycja, przewijanie

3 marca 2010 Michał Pazdanowski 77 Formanty Active-X ComboBox# zdarzenia: Change KeyDown KeyPress KeyUp MouseDown MouseMove MouseUp własności: Column Enabled Font List TextAlign TextLength Value

3 marca 2010 Michał Pazdanowski 78 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, dane, czcionka, różne, pozycja

3 marca 2010 Michał Pazdanowski 79 Formanty Active-X ListBox# zdarzenia: Change KeyDown KeyPress KeyUp MouseDown MouseMove MouseUp własności: Enabled Font List TextAlign TextLenth Value

3 marca 2010 Michał Pazdanowski 80 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, dane, czcionka, różne, pozycja

3 marca 2010 Michał Pazdanowski 81 Formanty Active-X ToggleButton# zdarzenia: Click KeyDown KeyPress KeyUp MouseDown MouseMove MouseUp własności: Caption Enabled Font TextAlign Value

3 marca 2010 Michał Pazdanowski 82 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, dane, czcionka, różne, obrazek, pozycja

3 marca 2010 Michał Pazdanowski 83 Formanty Active-X CommandButton# zdarzenia: Click KeyDown KeyPress KeyUp MouseDown MouseMove MouseUp własności: Caption Enabled Font

3 marca 2010 Michał Pazdanowski 84 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, czcionka, różne, obrazek, pozycja

3 marca 2010 Michał Pazdanowski 85 Formanty Active-X Frame# zdarzenia: Click KeyDown KeyPress KeyUp MouseDown MouseMove MouseUp własności: Caption Conrols Enabled Font

3 marca 2010 Michał Pazdanowski 86 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, czcionka, różne, obrazek, pozycja, przewijanie

3 marca 2010 Michał Pazdanowski 87 Formanty Active-X MultiPage# zdarzenia: Click KeyDown KeyPress KeyUp MouseDown MouseMove MouseUp własności: Enabled Font Pages Value

3 marca 2010 Michał Pazdanowski 88 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, czcionka, różne, pozycja, zakładki

3 marca 2010 Michał Pazdanowski 89 Formanty Active-X ScrollBar# zdarzenia: Change KeyDown KeyPress KeyUp Scroll własności: Delay Enabled Max Min SmallChange Value

3 marca 2010 Michał Pazdanowski 90 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, dane, różne, pozycja, przewijanie

3 marca 2010 Michał Pazdanowski 91 Formanty Active-X SpinButton# zdarzenia: Change KeyDown KeyPress KeyUp SpinDown SpinUp własności: Delay Enabled Max Min SmallChange Value

3 marca 2010 Michał Pazdanowski 92 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, dane, czcionka, różne, pozycja

3 marca 2010 Michał Pazdanowski 93 Formanty Active-X Image# zdarzenia: Click DblClick MouseDown MouseMove MouseUp własności: Enabled

3 marca 2010 Michał Pazdanowski 94 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, różne, obrazek, pozycja

3 marca 2010 Michał Pazdanowski 95 Formanty Active-X RefEdit# zdarzenia: Change KeyDown KeyPress KeyUp MouseDown MouseMove MouseUp własności: Cancel Default Enabled Font Height Width Value

3 marca 2010 Michał Pazdanowski 96 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, dane, czcionka, różne, pozycja, przewijanie

3 marca 2010 Michał Pazdanowski 97 Formanty Active-X CheckBox# zdarzenia: Change KeyDown KeyPress KeyUp MouseDown MouseMove MouseUp własności: Alignment Caption Enabled Font TextAlign Value

3 marca 2010 Michał Pazdanowski 98 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, dane, czcionka, różne, obrazek, pozycja

3 marca 2010 Michał Pazdanowski 99 Formanty Active-X OptionButton# zdarzenia: Change KeyDown KeyPress KeyUp MouseDown MouseMove MouseUp własności: Alignment Caption Enabled Font TextAlign Value

3 marca 2010 Michał Pazdanowski 100 Formanty Active-X Lista własności formantu według kategorii: wygląd, zachowanie, dane, czcionka, różne, obrazek, pozycja

3 marca 2010 Michał Pazdanowski 101 Formularze użytkownika Przykład UserForm1.Show X0 = UserForm1.TextBox1.Value Y0 = UserForm1.TextBox2.Value R = UserForm1.TextBox3.Value N = UserForm1.TextBox4.Value

3 marca 2010 Michał Pazdanowski 102 Formularze użytkownika Przykład Private Sub CommandButton1_Click() If Not IsNumeric(TextBox1.Value) Then TextBox1.Value = 200 0 If Not IsNumeric(TextBox2.Value) Then TextBox2.Value = 200 0 If Not IsNumeric(TextBox3.Value) Then TextBox3.Value = 10 If Not IsNumeric(TextBox4.Value) Then TextBox4.Value = 3 UserForm4.Hide End Sub

3 marca 2010 Michał Pazdanowski 103 Wybrane metody Range.Sort(.Sort(Klucz1, Porządek1, Klucz2, Typ, Porządek2, Klucz3, Porządek3, Nagłówek, Rozmiar, Orientacja) Klucz - podstawa sortowania (wiersz lub kolumna) Porządek - kolejność sortowania (xlascending( lub xldescending) Typ - tylko dla tabel przestawnych Nagłówek - czy jest nagłówek (xlyes( xlyes, xlno, xlguess) Rozmiar - rozróżniać duże litery (True( True, False) Orientacja - kierunek sortowania (xlsortrows( xlsortrows, xlsortcolumns)

3 marca 2010 Michał Pazdanowski 104 Wybrane metody Application.FindFile

3 marca 2010 Michał Pazdanowski 105 Wybrane metody Application.GetOpenFilename

3 marca 2010 Michał Pazdanowski 106 Wybrane metody Application.GetOpenFilename GetOpenFilename(Filtr, Indeks, Tytuł, Wiele) Filtr - kryterium wyboru plików ( All( Files (*.*), *.* ) Indeks - wskaźnik do kryteriów wyboru plików (gdy więcej niż jedno) Tytuł - nagłówek okna dialogu (Open( Open) Wiele - możliwość wyboru wielu plików (True( True, False)

3 marca 2010 Michał Pazdanowski 107 Wybrane metody Application.GetSaveAsFilename

3 marca 2010 Michał Pazdanowski 108 Wybrane metody Application.GetSaveAsFilename GetSaveAsFilename(Nazwa, Filtr, Indeks, Tytuł) Nazwa - sugerowana nazwa pliku( Book1. Book1.xls ) Filtr - kryterium wyboru plików ( All( Files (*.*), *.* ) Indeks - wskaźnik do kryteriów wyboru plików (gdy więcej niż jedno) Tytuł - nagłówek okna dialogu (Save( Save)

3 marca 2010 Michał Pazdanowski 109 segment FUNCTION Segmenty kodu Function nazwa (arg1, arg2,...) As typ nazwa = wyrażenie Exit Function nazwa = wyrażenie End Function

3 marca 2010 Michał Pazdanowski 110 nazwa jednoznaczna w module wymiana informacji parametry + nazwa zgodność parametrów co do: liczby typu kolejności Funkcja Function Absol(Arg Arg) As Long If Arg >= 0 Then Absol = Arg Else Absol = -Arg End If End Function Wabs=Absol Absol(W) nagłówek podstawienie podstawienie wywołanie

3 marca 2010 Michał Pazdanowski 111 Segmenty kodu segment SUBROUTINE Sub nazwa (arg1, arg2,...) Exit Sub End Sub

3 marca 2010 Michał Pazdanowski 112 Procedura nazwa jednoznaczna w module, wymiana informacji parametry, zgodność parametrów co do: liczby, typu, kolejności. Sub Quad(X,Y) Y = X*X*X*X End Sub nagłówek Call Quad(W,W4 W4) Debug.Print W4 wywołanie

3 marca 2010 Michał Pazdanowski 113 Struktura projektu Excel Objects Sheet1 Sheet2 Forms Dialog1 Dialog2 Modules Module1 Module2 obiekty Excela: procedury obsługi zdarzeń na arkuszach dialogi użytkownika: procedury obsługi zdarzeń w dialogach użytkownika funkcje i procedury: funkcje i procedury użytkownika

3 marca 2010 Michał Pazdanowski 114 Struktura projektu Obiekty Excela: prywatne procedury obsługi zdarzeń na arkuszach i skoroszycie Formularze użytkownika: prywatne procedury obsługi zdarzeń na formularzach użytkownika Moduły: pozostałe procedury

3 marca 2010 Michał Pazdanowski 115 Struktura modułu opcje, deklaracje typu zmiennych modułu, segmenty Function: deklaracje typu zmiennych lokalnych, kod funkcji, segmenty Sub: deklaracje typu zmiennych lokalnych, kod procedur. Option Explicit Option Base 0 Dim X as Boolean Sub Ala(X) Dim Y As Boolean Function Eta(X) As Long

3 marca 2010 Michał Pazdanowski 116 Grafika (0,0) X Y

3 marca 2010 Michał Pazdanowski 117 Grafika - kolekcja Shapes krzywa Beziera AddCurve macierz Y 1 2 4 X 3 X1 Y1 X2 Y2 X3 Y3 X4 Y4 Dim A (1 to 4, 1 to 2) As Single A(1,1) = X1 A(1,2) = Y1 A(4,2) = Y4 Sheets(1). (1).Shapes.AddCurve A

3 marca 2010 Michał Pazdanowski 118 Grafika - kolekcja Shapes łamana AddPolyline macierz Y 1 5 2 4 X 3 X1 Y1 X2 Y2 X3 Y3 X4 Y4 X5 Y5 Dim A (1 to 5, 1 to 2) As Single A(1,1) = X1 A(1,2) = Y1 A(5,2) = Y5 Sheets(1). (1).Shapes.AddPolyline A

3 marca 2010 Michał Pazdanowski 119 Grafika - kolekcja Shapes odcinek AddLine x1,y1 y1,x2,y2 Y 1 X 2 xpocz = X1 ypocz = Y1 xkonc = X2 ykonc = Y2 Sheets(1). (1).Shapes.AddLine xpocz, ypocz, xkonc, ykonc

3 marca 2010 Michał Pazdanowski 120 Grafika - kolekcja Shapes etykieta AddLabel o,x,y,w,h Y 1 X w o orientacja (1 do 6) w szerokość h wysokość h orient = 1 x = X1 y = Y1 w = 100 h = 30 Sheets(1). (1).Shapes.AddLabel orient, x, y, w, h

3 marca 2010 Michał Pazdanowski 121 Grafika - kolekcja Shapes okno tekstowe AddTextbox o,x,y,w,h Y 1 X w o orientacja (1 do 6) w szerokość h wysokość h orient = 1 x = X1 y = Y1 w = 100 h = 30 Sheets(1). (1).Shapes.AddTextBox orient, x, y, w, h

3 marca 2010 Michał Pazdanowski 122 Grafika - kolekcja Shapes obiekt graficzny AddShape t,x,y,w,h Y 1 w X t typ (1 do 138) w szerokość h wysokość h type = 93 x = X1 y = Y1 w = 100 h = 100 Sheets(1). (1).Shapes.AddShape type,, x, y, w, h

3 marca 2010 Michał Pazdanowski 123 Grafika - kolekcja Shapes własności: Count - liczba obiektów w kolekcji Range - podzbiór obiektów w kolekcji

3 marca 2010 Michał Pazdanowski 124 Grafika - obiekt Shape metody: Copy - kopiuj, Cut - wytnij, Delete - usuń, Flip - odbij, Group - połącz, Ungroup - rozbij, ZOrder - kolejność wyświetlania, własności: Height - wysokość, Width - szerokość, Visible- widoczność, Name - nazwa, Fill - wypełnienie, ZOrderPosition - pozycja w ko- lejności wyświetlania.

3 marca 2010 Michał Pazdanowski 125 Grafika metoda Flip.Flip(msoFlipHorizontal).Flip(msoFlipVertical)

3 marca 2010 Michał Pazdanowski 126 Grafika metoda Group Uwaga: grupa jest traktowana jak jeden obiekt, zmienia liczbę obiektów w kolekcji Shapes, zmienia indeksy obiektów w kolekcji.

3 marca 2010 Michał Pazdanowski 127 Grafika metoda Ungroup Uwaga: wykonalna tylko dla obiektów utworzonych metodą Group, zmienia liczbę obiektów w kolekcji Shapes, zmienia indeksy obiektów w kolekcji.

3 marca 2010 Michał Pazdanowski 128 Grafika metoda IncrementRotation.IncrementRotation 15..IncrementRotation 15..IncrementRotation 15.

3 marca 2010 Michał Pazdanowski 129 Grafika własność Rotation.Rotation = -15..Rotation = -30..Rotation = -45.

3 marca 2010 Michał Pazdanowski 130 Grafika metoda ZOrder 1 2 3 4 5 6 7 1 2 3 1 2 3 7 4 5 6 5 4 6 7.ZOrder(msoBringToFront).ZOrder(msoBringForward) 2 3 4 1 2 4 1 5 6 7 3 5 6 7.ZOrder(msoSendToBack).ZOrder(msoSendBackward)

3 marca 2010 Michał Pazdanowski 131 Grafika funkcja RGB kolor RGB (R, G, B) Red = 0 255, Green = 0 255, Blue = 0 255; R = 128 G = 128 B = 255 Sheets(1). (1).Shapes(1).Color = RGB(R,G,B)

3 marca 2010 Michał Pazdanowski 132 Grafika funkcja RGB Czarny Niebieski Zielony RGB(0,0,0), RGB(0,0,255), RGB(0,255,0), Czerwony RGB(255,0,0), Turkusowy RGB(0,255,255), Purpurowy RGB(255,0,255), Żółty Biały RGB(255,255,0), RGB(255,255,255),

3 marca 2010 Michał Pazdanowski 133 Grafika Przykład With Sheets(1). (1).Shapes.AddTextBox(1,50,50,100,30).Name = Text1.Line.Visible = msotrue.fill.visible = msotrue.fill.forecolor.rgb = RGB(192,192,0) With.TextFrame.Characters.Text = Liczba królików.horizontalalignment = xlhaligncenter.verticalalignment = xlvaligncenter.characters.font.bold = True End With End With obramowanie wypełnienie kolor wypełnienia w poziomie w pionie półgruby

3 marca 2010 Michał Pazdanowski 134 Grafika Przykład

3 marca 2010 Michał Pazdanowski 135 Grafika Przykład For J = 0 To 5 Step 1 I = J If J > 2 Then I = 5 - J With Sheets(1).Shapes.AddShape(93,10+J*40,10+I*40,40,40).Name = Star & J.Line.Visible = msotrue obramowanie.fill.visible = msotrue wypełnienie.fill.forecolor.rgb = RGB(0,51*J,255-51*J) 51*J).Adjustments.Item(1) = CSng(I) / 10 położenie kontrolki End With Next J

3 marca 2010 Michał Pazdanowski 136 Grafika Przykład

3 marca 2010 Michał Pazdanowski 137 Tworzenie programu EDYCJA Tools Macro VBEditor KOMPILACJA w trakcie wykonywania TAK BŁĘDY NIE LINKOWANIE w trakcie wykonywania TESTY algorytmu TAK BŁĘDY NIE

3 marca 2010 Michał Pazdanowski 138 Podsumowanie Etapy przygotowania obliczeń, Programowanie obiektowe, Języki programowania, Język Visual Basic.

3 marca 2010 Michał Pazdanowski 139 Podsumowanie Język Visual Basic: Symbole języka, Zmienne proste i złożone, Wyrażenia arytmetyczne i logiczne, Podstawowe struktury, Operacje wejścia/wyjścia, Segmenty kodu.

3 marca 2010 Michał Pazdanowski 140 Podsumowanie Język Visual Basic: Formularze użytkownika, Formanty Active-X X (obsługa zdarzeń), Grafika (kolekcja Shapes), Tworzenie i uruchamianie programu.

3 marca 2010 Michał Pazdanowski 141 Podsumowanie wykonywanie działań kod VisualBasic, przechowywanie moduły: wraz z skoroszytami XLS, edycja przy pomocy Edytora VisualBasic, moduł funkcje i procedury, przedmiot działania obiekty: ponad 100 klas obiektów w Excelu, skoroszyty, arkusze, zakresy, wykresy,...

3 marca 2010 Michał Pazdanowski 142 Bibliografia 1. Microsoft Visual Basic User Manual, Microsoft Corp.. 2000. 2. Programowanie Excel 2000 Visual Basic, John Walkenbach, Rm,, 2000. 3. Visual Basic nie tylko dla orłów, Greg Perry, Intersoftland,, 1995. 4. Visual Basic 6 to proste, Stephen Morris, Rm, 2002. 5. Visual Basic 6 w 21 dni, Greg Perry, Rm, 1999.