Obiekty - terminologia Obiekt - przedmiot kontrolowany przez Visual Basic, identyfikowany przez swoje właściwości i metody  Właściwość - cecha obiektu.

1 Obiekty - terminologia Obiekt - przedmiot kontrolowany ...
Author: Marcin Muszyński
0 downloads 3 Views

1 Obiekty - terminologia Obiekt - przedmiot kontrolowany przez Visual Basic, identyfikowany przez swoje właściwości i metody  Właściwość - cecha obiektu  Metoda - czynność wykonywana przez obiekt lub na obiekcie Zdarzenie - akcja rozpoznawana przez obiekt, spowodowana działaniem systemu, użytkownika lub poleceniami języka Visual Basic Procedura zdarzenia - metoda wykonywana przez obiekt w odpowiedzi na zdarzenie

2 Obiekty - terminologia Kolekcja - zbiór powiązanych ze sobą obiektów Klasa - definicja obiektu (nazwy, właściwości i metod) - szablon, z którego tworzone są obiekty, czyli instancje klasy Instancja - obiekt utworzony z klasy, posiadający wszystkie cechy zdefiniowane w klasie

3 Obiekty - terminologia Formularz - okno dialogowe zaprojektowane przez programistę Moduł klasy - moduł zawierający definicję klasy (wszystkie procedury zapisane w module klasy stają się metodami obiektów tej klasy) Moduł formularza - moduł zawierający kod obsługi formularza Moduł standardowy - moduł zawierający procedury i funkcje dostępne dla innych procedur VBA, niezwiązane z żadnym obiektem

4 Użycie obiektów Zmienne obiektowe: Dim zmienna As typ Set zmienna = obiekt np. Dim rng As Range Set rng = ActiveSheet.Rows(1) Zwalnianie zmiennych obiektowych: Set obiekt = Nothing np. Set rng = Nothing

5 Użycie obiektów Porównywanie zmiennych obiektowych: If obiekt1 Is obiekt2 Then np.: If rng Is rng2 Then If rng Is Nothing Then

6 Użycie obiektów Właściwości: Obiekt.Właściwość np.: rng.Value rng.Font rgn.Font.Bold ActiveSheet.Rows(1).Font.Bold Metody: Obiekt.Metoda(parametry) np.: rng.Clear

7 Użycie obiektów Instrukcja With With obiekt [instrukcje] End With np.: With ActiveSheet.Rows(1).Font.Bold = True.Italic = True End With

8 Kolekcje Kolekcje to grupy obiektów tego samego typu Przykład Rows - zbiór wszystkich wierszy danego arkusza (jako obiekty typu Range ) każdy otwarty arkusz ma dokładnie jedną kolekcję Rows potocznie: Rows zawiera wszystkie wiersze arkusza odwołanie do wierszy aktualnego arkusza: ActiveSheet.Rows odwołanie do pierwszego wiersza: Rows(1)

9 Kolekcje Niektóre kolekcje obiektów w Excelu: Areas, Axes, Borders, ChartObjects, Charts, DataLabels, Filters, FormatConditions, LegendEntries, Names, PivotFields, PivotTables, Points, Range, SeriesCollection, Sheets, Windows, Workbooks, Worksheets

10 Użycie kolekcji Odwołanie do elementu przy użyciu indeksu lub nazwy Worksheets.Item(1).Select Worksheets(1).Select Worksheets("Arkusz2").Select Obliczanie liczby elementów Worksheets.Count Dodanie elementu Worksheets.Add Usunięcie elementu (zależne od kolekcji)

11 Użycie kolekcji Przeglądanie elementów za pomocą pętli For Each

12 Własne kolekcje Tworzenie Dim nazwaKolekcji As New Collection Dodawanie elementów nazwaKolekcji.Add item, key, before, after Obliczanie liczby elementów nazwaKolekcji.Count Odwoływanie się do elementu nazwaKolekcji.Item(indeks) Usuwanie elementu nazwaKolekcji.Remove(indeks)

13

14 Wykład 7 Zadanie: Napisz procedurę SkopiujDoKolumny której parametrem jest zakres komórek. Procedura ma przekopiować wartości z komórek danych jako parametr do pierwszej kolumny dodanego arkusza o nazwie Kolumna

15 Tworzenie klas (1) Utworzyć moduł klasy (menu Wstaw / Moduł klasy) Zmienić nazwę klasy (okno Eksplorator projektu, Właściwości) Zadeklarować zmienne klasy (jako prywatne, czyli widoczne tylko w obrębie tej klasy)

16 Tworzenie klas (2) Utworzyć metody pobierania i ustawiania właściwości obiektów klasy  Property Let właściwość() - ustawia wartość właściwości  Property Get właściwość() - zwraca wartość właściwości  Property Set właściwość() - ustawia wartość właściwości jako odwołanie do obiektu

17 Tworzenie klas (3) Utworzyć metody obiektu. Aby były widoczne poza klasą, muszą być zdefiniowane jako Public Utworzyć procedury zdarzeń  Class_Initialize - inicjalizacja obiektu klasy  Class_Terminate - czyszczenie obiektu przed zniszczeniem

18

19 Eksport klasy do innego projektu (1) Zmienić własności instancji klasy:  z 1 – Private (klasa widoczna tylko wewnątrz projektu, który ją zawiera)  na 2 – PublicNotCreatable (klasa widoczna również na zewnątrz, inne projekty mogą deklarować zmienne tego typu, ale nie można używać składni Set = New... )

20 Eksport klasy do innego projektu (2) Utworzyć procedurę (zdefiniowaną jako Public ) tworzącą instancję klasy: Public Function GetClassNazwaKlasy() As NazwaKlasy Set GetClassNazwaKlasy = New NazwaKlasy End Function

21 Eksport klasy do innego projektu (3) Zmienić nazwę projektu zawierającego eksportowaną klasę z VBAProject na unikatową  okienko właściwości dla projektu  menu Tools  VBAProject Properties... Zapisać i zamknąć projekt/skoroszyt

22 Eksport klasy do innego projektu (4) Dodać w projekcie, który ma korzystać z klasy, referencję do projektu zawierającego tę klasę  menu Tools  References... Zadeklaruj i utwórz zmienną Dim NazwaZmiennej As NowaNazwaProjektu.NazwaKlasy Set NazwaZmiennej = _ NowaNazwaProjektu.GetClassNazwaKlasy()

23 Zadania Zadanie 1: Utwórz klasę CMacierz zawierającą dwuwymiarową tablicę wartości Double oraz liczbę wierszy i kolumn.Zaimplementuj metody pobierania i ustawiania właściwości obiektów klasy.

24 Zadania Zadanie 2: Napisz procedurę Wypisz wypisującą macierz w okienku MsgBox. Zadanie 3: Napisz procedurę TestMacierzy wypisującą macierz za pomocą w/w procedury.

25 Zadania Zadanie 4: Napisz procedurę Wczytaj pobierającą za pomocą okienka InputBox liczby do kolejnych wierszy. Liczby w danym wierszu są rozdzielone spacją. Wczytywanie się kończy po wciśnięciu przycisku Anuluj lub podaniu pustego tekstu. Zadanie 5: Zmodyfikuj procedurę Wczytaj - dodaj macierz jako parametr opcjonalny procedury.

26 Zadania Zadanie 6: Napisz procedurę WczytajKomorki której parametrem jest zakres komórek. Procedura ma pobrać za pomocą okienka InputBox 2 liczby oznaczające liczbę wierszy i liczbę kolumn. Następnie do utworzonej macierzy o podanej liczbie wierszy i kolumn należy do kolejnych wierszy wpisać wartości z komórek przekazanych jako parametr procedury. W przypadku błędu (np. przekroczenie zakresu) należy wyświetlić odpowiedni komunikat.

27 Zadania Zadanie 7: Napisz funkcję Slad wyliczającą ślad macierzy Zadanie 8: Napisz funkcję Symetryzacja Zadanie 9: Napisz funkcję Antysymetryzacja UWAGA: Za każdym razem należy zmodyfikować procedurę TestMacierzy

28 Wykład 8 – Obiekty VBA Przeglądarka obiektów Menu: Widok / Przeglądarka obiektów Klawisz F2

29 Obiekt Application Reprezentuje cała aplikację Microsoft Excel  Składowe globalne pozwalające na użycie bez odwołania do obiektu, m.in.: ActiveCell, ActiveChart, ActivePrinter, ActiveSheet, ActiveWindow, ActiveWorkbook, Calculate, Cells, Charts, Columns, CommandBars, Evaluate, Names, Rows, ThisWorkbook, Windows, Workbooks, Worksheets  Składowe Active... zwracają aktywne obiekty  Często nazwa składowej jest jednocześnie nazwą zwracanego przez nią typu, np. AddIns, Windows, Workbooks  Kilka składowych zwraca obiekty typu Range, m.in.: Cells, Columns, Rows

30 Obiekt Application Zmiana sposobu wyświetlania elementów  DisplayAlerts - czy ostrzegawcze komunikaty są pokazywane  DisplayCommentIndicator - w jaki sposób jest pokazywana obecność komentarzy  DisplayFormulaBar - czy pasek formuły jest wyświetlany  DisplayNoteIndicator - czy oznaczenia komentarzy zawartych w komórkach są wyświetlane

31 Obiekt Application Uaktywnianie mechanizmów Excela  EnableAnimations - czy animacje wstawiania i usuwania są włączone  EnableAutoComplete - czy autouzupełnianie jest włączone  EnableCancelKey - jak podczas działania procedury są obsługiwane klawisze Esc lub Ctrl+Break  EnableEvents - czy obsługa zdarzeń obiektu Application jest włączona  EnableSound - czy podczas pracy są generowane dźwięki

32 Obiekt Application Zdarzenia  OnKey - skojarzenie procedury z określonym klawiszem  dodanie procedury Application.OnKey "^{+}", "InsertProc" Application.OnKey "+^{RIGHT}", "SpecialPrintProc„  przywrócenie procedury domyślnej Application.OnKey "+^{RIGHT}"  usunięcie procedury Application.OnKey "+^{RIGHT}", ""  OnTime - ustawienie polecenia wykonania procedury w określonym momencie lub po określonym czasie

33 Obiekt Application Przeliczanie  Calculate - przeliczenie wszystkich otwartych skoroszytów  Calculation - tryb przeliczeń (ręczne, automatyczne)  CalculateBeforeSave - czy przeliczać skoroszyty przed zapisem do pliku

34 Obiekt Application Pliki  DefaultFilePath - ścieżka dostępu do plików używana przy otwieraniu i zapisywaniu plików  DefaultSaveFormat - domyślny format dla zapisywanych plików  FindFile - wyświetlenie okna dialogowego otwierania plików i otworzenie wybranych plików  GetOpenFilename - wybranie plików z okna dialogowego otwierania bez ich otworzenia  GetSaveAsFilename - wybranie plików z okna dialogowego zapisywania bez ich zapisania  RecentFiles - kolekcja reprezentująca listę ostatnio używanych plików  SaveWorkspace - zapisanie bieżącego obszaru roboczego

35 Obiekt Application Opcje Excela  CopyObjectsWithCells - czy obiekty (np. kontrolki lub kszałty) są kopiowane, wycinane, sortowane wraz z komórkami  Cursor - kursor myszy  CutCopyMode - stan trybu wycinania lub kopiowania  DataEntryMode - tryb wprowadzania danych do komórek  EditDirectlyInCell - czy możliwa jest edycja w komórkach (zawsze jest możliwa edycja w pasku formuły)

36 Obiekt Application Opcje Excela  FixedDecimal - czy wszystkie wprowadzane dane numeryczne są formatowane zgodnie z opcją FixedDecimalPlaces  FixedDecimalPlaces - liczba miejsc dziesiętnych używana w formatowaniu wprowadzanych danych numerycznych  Interactive - czy polecenia wydawane przy pomocy myszy i klawiatury są obsługiwane  MoveAfterReturn - czy aktualna komórka zostanie zmieniona po naciśnięciu klawisza Enter  MoveAfterReturnDirection - kierunek zmiany aktualnej komórki po naciśnięciu klawisza Enter  ReferenceStyle - styl wyświetlania odwołań do komórek oraz nagłówków i kolumn

37 Obiekt Application Opcje Excela  ScreenUpdating - czy aktualizować ekran podczas dokonywania zmian  SheetsInNewWorkbook - liczba arkuszy automatycznie tworzonych w nowych skoroszytach  StandardFont - nazwa standardowej czcionki (zostanie zastosowana po ponownym uruchomieniu Excela)  StandardFontSize - rozmiar standardowej czcionki  StartupPath - ścieżka dostępu do startowego foldera  TemplatesPath - ścieżka dostępu do foldera z szablonami

38 Obiekt Application Akcje  ConvertFormula - konwersja odwołań bezwzględnych i względnych  Evaluate - konwersja nazwy na obiekt lub wartość  GoTo - zaznaczenie wskazanego zakresu w dowolnym skoroszycie  Quit - zakończenie pracy aplikacji

39 Obiekt Application Inne  InputBox - okno dialogowe pobierania danych od użytkownika  Selection - aktualnie zaznaczony obiekt w aktywnym oknie  StatusBar - tekst wyświetlany na pasku stanu  Intersect - prostokątne przecięcie dwóch lub więcej zakresów  Union - suma dwóch lub więcej zakresów

40 Obiekt Application Obiekty potomne  Names - kolekcja nazw  Windows - kolekcja wszystkich otwartych okien działających w aplikacji  WorksheetFunctions - dostęp do funkcji arkusza Excela

41 Kolekcja Workbooks Zawiera wszystkie otwarte arkusze  Dostępna poprzez Application.Workbooks Właściwości i metody  Add - utworzenie nowego skoroszytu  Close - zamknięcie wszystkich skoroszytów  Count - liczba skoroszytów w kolekcji  Item - określony (nazwą lub indeksem) skoroszyt w kolekcji  Open - otwarcie wskazanego skoroszytu  OpenText - utworzenie nowego skoroszytu z danymi z pliku tekstowego

42 Obiekt Workbook Reprezentuje otwarty skoroszyt Excela Właściwości i metody  Activate - uaktywnienie skoroszytu  Close - zamknięcie skoroszytu  DisplayDrawingObjects - w jaki sposób wyświetlać obiekty graficzne (obiekt, miejsce, ukrycie)  FileFormat - format pliku lub typ skoroszytu  Name - nazwa skoroszytu  Path - ścieżka dostępu do pliku skoroszytu  FullName - nazwa pliku skoroszytu ze ścieżką dostępu

43 Obiekt Workbook Właściwości i metody  HasPassword - czy skoroszyt jest zabezpieczony hasłem  PrecisionAsDisplayed - czy obliczenia wykonywane są z pokazywaną precyzją  PrintOut - wydrukowanie skoroszytu  PrintPreview - wywołanie okna podglądu wydruku  Protect - ochrona skoroszytu przed modyfikacjami (z możliwością ustawienia hasła)  ReadOnly - czy zawartość skoroszytu można modyfikować  RefreshAll - odświeżenie wszystkich zewnętrznych zakresów danych i tabel przestawnych

44 Obiekt Workbook Właściwości i metody  Save - zapisanie skoroszytu  SaveAs - zapisanie skoroszytu do pliku o innej nazwie  SaveCopyAs - zapisanie kopii skoroszytu do pliku o innej nazwie Obiekty potomne  CustomViews - kolekcja widoków skoroszytów  Names - kolekcja nazw wykorzystywanych w skoroszycie  Sheets - kolekcja arkuszy roboczych ( Worksheet ) i wykresów ( Chart )  Styles - kolekcja zestawów opcji formatowania dla zakresu

45 Obiekt Worksheet Reprezentuje arkusz roboczy Excela Właściwości i metody  Activate - uaktywnienie arkusza  AutoFilterMode - czy autofiltr jest włączony  Calculate - przeliczenie wszystkich komórek arkusza  CodeName - nazwa kodowa arkusza  Copy - skopiowanie arkusza  Delete - usunięcie arkusza  EnableCalculations - czy przeliczanie zostanie dokonane automatycznie po zmianach  FilterMode - czy arkusz jest w trybie filtrowania (np. autofiltrowanie włączone, ale filtr nie został nałożony)

46 Obiekt Worksheet Właściwości i metody  Move - przesunięcie arkusza na inne miejsce w skoroszycie  PasteSpecial - wklejenia danych do arkusza z zastosowaniem wybranego formatu  PrintOut - wydrukowanie arkusza  PrintPreview - wywołanie okna podglądu wydruku arkusza  Protect - zabezpieczenie arkusza przed modyfikacjami (z możliwością ustawienia hasła)  ProtectionMode - czy tryb ochrony jest włączony  SaveAs - zapisanie arkusza do wskazanego pliku  ScrollArea - zakres, w którym dozwolone jest przewijanie  Select - zaznaczenie arkusza (wiele arkuszy może być jednocześnie zaznaczonych, tylko jeden może być aktywny)  SetBackgroundPicture - grafika dla tła arkusza

47 Obiekt Worksheet Właściwości i metody  ShowDataForm - wyświetlenie formularza danych powiązanego z arkuszem  Unprotect - wyłączenie ochrony arkusza  UsedRange - najmniejszy prostokątny obszar obejmujący aktualnie używane komórki  Visible - czy arkusz jest widoczny Obiekty potomne  Comments - kolekcja komentarzy zawartych w komórkach arkusza  Names - kolekcja nazw używanych w arkuszu  Outline - konspekt  PageSetup - formatowanie strony dla arkusza

48 Obiekt Range Jeden z najważniejszych obiektów Excela: żeby móc pracować z częścią arkusza roboczego trzeba ją najpierw zidentyfikować jako obiekt Range Reprezentuje komórkę, wiersz, kolumnę, zaznaczony obszar zawierający jeden lub więcej ciągłych bloków komórek Jednocześnie jest samodzielnym obiektem i kolekcją Elementami tej kolekcji są obiekty Range (Excel nie posiada typu dla pojedynczej komórki).

49 Obiekt Range Najczęściej używane sposoby pobierania obiektów typu Range  Range(nazwa), Range(kom1, kom2) Application.Range, ActiveSheet.Range, Worksheet.Range  Cells(wiersz, kolumna) Application.Cells, ActiveSheet.Cells, Worksheet.Cells, Range.Cells  Columns(kolumna), Columns(nazwa) Application.Columns, ActiveSheet.Columns, Worksheet.Columns, Range.Columns  Rows(wiersz), Rows(nazwa) Application.Rows, ActiveSheet.Rows, Worksheet.Rows, Range.Rows  Offset(przesWiersz, przesKolumna) Range.Offset

50 Obiekt Range Właściwości i metody  Activate - uaktywnienie pojedynczej komórki lub zaznaczenie zakresu  AddComment - dodanie komentarza do zakresu jednokomórkowego  Address - pobranie adresu w postaci ciągu znaków (względny, bezwzględny, A1, R1C1)  AutoFill - autowypełnianie komórek zakresu  AutoFilter - włączenie/wyłączenie autofiltra; ustawienie autofiltra  AutoFit - dopasowanie wielkości komórek do zawartych w nich danych  AutoFormat - automatyczne sformatowanie zakresu  BorderAround - ustawienie obramowanie dookoła zakresu  Calculate - przeliczenie wszystkich komórek zakresu

51 Obiekt Range Właściwości i metody  Clear - wyczyszczenie wartości, formuł i formatowania  ClearContents - wyczyszczenie wartości i formuł  ClearFormats - wyczyszczenie formatowania  ColumnDifferences - zwraca obiekt Range reprezentujący wszystkie komórki zakresu, których zawartość jest różna od zadanych komórek odniesienia (w każdej kolumnie występuje jedna komórka odniesienia)  RowDifferences - analogicznie do ColumnDifferences, lecz dla wierszy  Consolidate - połączenie danych z wielu zakresów (także z różnych arkuszy) do pojedynczego zakresu na jednym arkuszu  CreateNames - utworzenie nazw zakresów opartych na etykietach tekstowych w podanych komórkach

52 Obiekt Range Właściwości i metody  CurrentRegion - zwraca obiekt Range reprezentujący bieżący region, czyli region otoczony przez najbliższe puste wiersze i kolumny  Delete - usunięcie komórki  ColumnWidth - szerokość kolumn w zakresie  RowHeight - wysokość wierszy w zakresie  Width - szerokość zakresu w punktach  Height - wysokość zakresu w punktach  Top - odległość w punktach od górnej krawędzi pierwszego wiersza arkusza do górnej krawędzi pierwszego wiersza zakresu  Left - odległość w punktach od lewej krawędzi pierwszej kolumny arkusza do lewej krawędzi pierwszej kolumny zakresu

53 Obiekt Range Właściwości i metody  Dependents - zwraca obiekt Range reprezentujący wszystkie komórki zależne od danej komórki  DirectDependents - zwraca obiekt Range reprezentujący wszystkie komórki zależne bezpośrednio od danej komórki  Precedents - zwraca obiekt Range reprezentujący wszystkie komórki, od których komórki zakresu są zależne  DirectPrecedents - zwraca obiekt Range reprezentujący wszystkie komórki, od których komórki zakresu są bezpośrednio zależne  End - zwraca obiekt Range reprezentujący ostatnią komórkę regionu zawierającego zakres w zadanym kierunku  EntireColumn - zwraca obiekt Range reprezentujący kolumny zawierające zakres  EntireRow - zwraca obiekt Range reprezentujący wiersze zawierające zakres

54 Obiekt Range Właściwości i metody  FillDown - wypełnienie komórek zakresu w dół począwszy od komórek w górnym wierszu zakresu poprzez skopiowanie zawartości, formuł i formatowania z górnego wiersza  FillUp - analogicznie do FillDown, lecz wypełnienie do góry  FillLeft - analogicznie do FillDown, lecz wypełnienie do lewej  FillRight - analogicznie do FillDown, lecz wypełnienie do prawej  Find - zwraca obiekt Range reprezentujący pierwszą komórkę zakresu spełniającą narzucone kryterium  FindNext - znalezienie następnej komórki według wyszukiwania rozpoczętego metodą Find  FindPrevious - znalezienie poprzedniej komórki według wyszukiwania rozpoczętego metodą Find

55 Obiekt Range Właściwości i metody  Formula - formuła lub wartość każdej komórki w zakresie (formuła musi być w postaci A1 i rozpoczynać się znakiem =)  FormulaR1C1 - analogicznie do Formula, lecz formuła w notacji R1C1  FormulaArray - formuła tablicowa zapisana w notacji R1C1  FormulaHidden - czy formuła komórek zakresu jest ukryta  HasFormula - czy wszystkie komórki zakresu mają formuły  HorizontalAlignment - poziome wyrównanie komórek zakresu  VerticalAlignment - pionowe wyrównanie komórek zakresu  IndentLevel - lewe wcięcie dla komórek zakresu  InsertIndent - zwiększenie wcięcia dla komórek zakresu  Insert - wstawienie zakresu do arkusza

56 Obiekt Range Właściwości i metody  Locked - czy komórki zakresu są zablokowane  Merge - scalenie zakresu w jedną komórkę  UnMerge - podzielenie scalonej komórki  Next - zwraca komórkę, która stałaby się aktywna po naciśnięciu klawisza Tab  Previous - zwraca komórkę, która stałaby sie aktywana po naciśnięciu klawisza Shift+Tab  NumberFormat - ciąg znaków określających formatowanie liczb komórek zakresu  Parse - przetworzenie danych w kolumnie i rozprowadzenie zawartości z wypełnieniem przystających kolumn  PasteSpecial - wklejenie danych ze schowka do zakresu  PrintOut - wydrukowanie zakresu  PrintPreview - wywołanie okna podglądu wydruku zakresu

57 Obiekt Range Właściwości i metody  Replace - zastąpienie danych we wszystkich komórkach zakresu  Select - zaznaczenie zakresu  ShrinkToFit - czy dostować szerokość tekstu do szerokości kolumn  Sort - sortowanie zakresu (jeśli zakres jest pojedynczą komórką, sortowany jest bieżący region)  SpecialCells - zwraca obiekt Range reprezentujący wszystkie komórki pasujące do wskazanego typu i wartości  TextToColumns - przetworzenie kolumn komórek zawierających tekst na kilka osobnych kolumn  Value - zwraca wartości komórek zakresu (dwuwymiarowa tablica dla zakresów wielokomórkowych)  WrapText - czy zawijać tekst w komórkach zakresu

58 Obiekt Range Obiekty potomne  Areas - kolekcja wszystkich spójnych zakresów komórek zawartych w zakresie  Borders - kolekcja obiektów Border określających obramowanie zakresu  Characters - ciągła sekwencja znaków tekstu  Comments - kolekcja komentarzy komórek zakresu  Font - czcionka wykorzystywana w zakresie  FormatConditions - kolekcja formatowań warunkowych  Interior - charakterystyka wnętrza komórki (kolor tła oraz kolor i wzór wypełnienia)  Validation - sprawdzanie poprawności zawartości komórki

59 Obiekt Chart Reprezentuje wykres  Arkusze wykresów - arkusze zawierające tylko wykres (obiekt Chart jest takim arkuszem) Workbook.Charts - kolekcja wszystkich arkuszy wykresów w skoroszycie  Arkusze robocze zawierające wykresy - wykres (obiekt Chart ) jest osadzony w specjalnym obiekcie ( ChartObject ) Worksheet.ChartObjects - kolekcja wszystkich obiektów zawierających wykresy osadzone w arkuszu  Chart.ChartWizard  modyfikuje właściwości wykresu (nie tworzy wykresu)  może modyfikować tylko wybrane (podane jako parametry) właściwości wykresu.

60 Obiekt Chart Właściwości i metody  ChartType - typ wykresu  ApplyCustomType - ustawienie typu wykresu (w szczególności własnego)  Export - zapisanie wykresu do pliku graficznego  PrintOut - wydrukowanie wykresu

61 Obiekt Chart Obiekty potomne  Axes - kolekcja obiektów Axis (osie wykresu)  ChartArea - obszar wykresu ( Border, ChartFillFormat, Font, Interior )  ChartGroups - kolekcja obiektów ChartGroup reprezentujących jedną lub więcej serii o tym samym typie wykresu  ChartTitle - tytuł wykresu ( Border, ChartFillFormat, Font, Interior )  DataTable - tabela danych  Floor - podłoże wykresu trójwymiarowego  Legend - legenda  PageSetup - formatowanie strony dla wykresu  PlotArea - obszar rysowania wykresu  Series - serie danych wykresu ( Point - pojedynczy punkt serii)

62 Obiekt Axis Reprezentuje jedną oś wykresu Właściwości i metody  Tytuł - tekst i jego formatowanie; obiekt AxisTitle  Kategorie - nazwy i typy; CategoryNames, CategoryType, BaseUnit  Przecięcia osi - Crosses, CrossesAt  Jednostki - HasDisplayUnitLabel, DisplayUnitLabel, DisplayUnit, DisplayUnitCustom  Linie siatki - HasMajorGridlines, HasMinorGridlines, MajorGridlines, MinorGridlines

63 Obiekt Axis Właściwości i metody  Położenie i rozmiar - Height, Width, Left, Top  Znaczniki - MajorTickMark, MinorTickMark, TickLabels  Jednostki - MajorUnit, MinorUnit, MajorUnitIsAuto, MinorUnitIsAuto, MajorUnitScale, MinorUnitScale, MaximumScale, MinimumScale, MaximumScaleIsAuto, MinimumScaleIsAuto, ScaleType  Kierunek - ReversePlotOrder  Typ - Type

64 Formularze Okna dialogowe wbudowane Własne formularze Kontrolki

65 Standardowe okna dialogowe Możliwość wykorzystania wbudowanych okien dialogowych z poziomu Visual Basica Kolekcja Application.Dialogs zawierająca obiekty typu Dialog 794 dialogów w wersji Microsoft Excel 2002 Dostęp poprzez stałe wyliczenia XlBuiltInDialog, postaci xlDialog...

66 Standardowe okna dialogowe Najczęściej stosowane: xlDialogNew, xlDialogOpen, xlDialogSaveAs, xlDialogPageSetup, xlDialogPrint, xlDialogFont Dialog.Show - pokazanie wbudowanego dialogu, np. Application.Dialogs(xlDialogOpen ). Show Application.Dialogs(xlDialogOpen ). Show _ "*.*", False, True

67 Formularze Własne okna dialogowe Tworzenie formularza:  Uruchomić ekran edytora Visual Basica  Wybrać opcję menu: Wstaw  UserForm  Nadać nazwę (właściwość Name)  Nadać tytuł (właściwość Caption)  Dodać kontrolki z przybornika formantów  Dodać funkcje obsługi zdarzeń kontrolek (czyli reakcje na czynności użytkownika formularza) Uruchamianie formularza: NazwaFormularza.Show Zamknięcie formularza z jego kodu: End

68

69 Kontrolki Etykieta Dowolny tekst Zwykle zawiera podpis, nagłówek, tytuł lub instrukcje pomocnicze Zdarzenia: BeforeDragOver, BeforeDropOrPaste, Click, DblClick, MouseDown, MouseUp, MouseMove

70 Kontrolki Pole tekstowe Umożliwia wyświetlanie i pobieranie danych od użytkownika Zawartością może być tekst, liczba, formuły, odniesienia do komórek Możliwość automatycznego zawijania tekstu Możliwość dodawania nowych linii tekstu Możliwość ograniczenia długości tekstu

71 Kontrolki Pole tekstowe Zdarzenia: AfterUpdate, BeforeUpdate, BeforeDragOver, BeforeDropOrPaste, Change, Click, DblClick, DropButtonClick, Enter, Exit, Error, KeyDown, KeyUp, KeyPress, MouseDown, MouseUp, MouseMove

72 Kontrolki Pole kombi Połączenie pola tekstowego i pola listy Często stosowane dla zaoszczędzenia miejsca na formularzu Możliwość wpisywania przez użytkownika własnej wartości lub wymuszenie wyboru z listy

73 Kontrolki Pole kombi Zdarzenia: AfterUpdate, BeforeUpdate, BeforeDragOver, BeforeDropOrPaste, Change, Click, DblClick, DropButtonClick, Enter, Exit, Error, KeyDown, KeyUp, KeyPress, MouseDown, MouseUp, MouseMove

74 Kontrolki Pole listy Lista wartości, z których użytkownik będzie mógł dokonać wyboru Dane do listy mogą być wstawiane w kodzie VB ( AddItem ) lub ustawione przy pomocy właściwości RowSource Można tworzyć listy składające się z wielu kolumn

75 Kontrolki Pole listy Zdarzenia: AfterUpdate, BeforeUpdate, BeforeDragOver, BeforeDropOrPaste, Change, Click, DblClick, Enter, Exit, Error, KeyDown, KeyUp, KeyPress, MouseDown, MouseUp, MouseMove

76 Kontrolki Pole wyboru Służy do włączania i wyłączania danej opcji Pola wyboru na jednym formularzu działają niezależnie Zdarzenia: AfterUpdate, BeforeUpdate, BeforeDragOver, BeforeDropOrPaste, Change, Click, DblClick, Enter, Exit, Error, KeyDown, KeyUp, KeyPress, MouseDown, MouseUp, MouseMove

77 Kontrolki Przycisk opcji Umożliwia wybór jednej spośród wielu wykluczających się opcji W danym momencie tylko jeden przycisk opcji z grupy umieszczonej w ramce może być zaznaczony Wybranie nowej opcji powoduje automatyczne anulowanie zaznaczenia poprzedniej opcji

78 Kontrolki Przycisk opcji Zdarzenia: AfterUpdate, BeforeUpdate, BeforeDragOver, BeforeDropOrPaste, Change, Click, DblClick, Enter, Exit, Error, KeyDown, KeyUp, KeyPress, MouseDown, MouseUp, MouseMove

79 Kontrolki Przełącznik Wygląd przycisku polecenia Działanie pola wyboru Zdarzenia: AfterUpdate, BeforeUpdate, BeforeDragOver, BeforeDropOrPaste, Change, Click, DblClick, Enter, Exit, Error, KeyDown, KeyUp, KeyPress, MouseDown, MouseUp, MouseMove

80 Kontrolki Ramka Umożliwia wizualne uporządkowanie elementów formularza Grupuje przyciski opcji (powoduje wzajemne wykluczanie przycisków opcji w niej zawartych) Zdarzenia: AddControl, BeforeDragOver, BeforeDropOrPaste, Click, DblClick, Enter, Exit, Error, KeyDown, KeyUp, KeyPress, Layout, MouseDown, MouseUp, MouseMove, RemoveControl, Scroll, Zoom

81 Kontrolki Przycisk polecenia Standardowy przycisk wywołujący polecenie (akcję) Zdarzenia: BeforeDragOver, BeforeDropOrPaste, Click, DblClick, Enter, Exit, Error, KeyDown, KeyUp, KeyPress, Layout, MouseDown, MouseUp, MouseMove

82 Kontrolki Przycisk polecenia Kod obsługi akcji wstawić do procedury NazwaPrzycisku_Click, która zostanie automatycznie utworzona po dwukliku na przycisku w oknie tworzenia formularza

83 Kontrolki Pasek tabulatorów Umożliwia użycie tych samych kontrolek dla zespołu danych Zdarzenia: AfterUpdate, BeforeUpdate, BeforeDragOver, BeforeDropOrPaste, Change, Click, DblClick, Enter, Exit, Error, KeyDown, KeyUp, KeyPress, MouseDown, MouseUp, MouseMove

84 Kontrolki Formularz złożony Wyświetla serię kart u góry formularza, każda karta spełnia rolę oddzielnej strony Na każdej stronie można umieścić inny zbiór kontrolek Nową stronę można dodać w kodzie VB ( Add ) lub w oknie tworzenia formularza

85 Kontrolki Formularz złożony Zdarzenia: AddControl, BeforeDragOver, BeforeDropOrPaste, Change, Click, DblClick, Enter, Exit, Error, KeyDown, KeyUp, KeyPress, Layout, MouseDown, MouseUp, MouseMove, RemoveControl, Scroll, Zoom

86 Kontrolki Pasek przewijania Przydatne do wprowadzania wartości znajdujących się w określonym przedziale liczb Można określić minimum, maksimum oraz kroki zmiany Zdarzenia: AfterUpdate, BeforeUpdate, BeforeDragOver, Change, Enter, Exit, Error, KeyDown, KeyUp, KeyPress, MouseDown, MouseUp, MouseMove, Scroll

87 Kontrolki Przycisk pokrętła Działanie bardzo podobne do paska przewijania Często używane w połączeniu z polem tekstowym zawierającym dane liczbowe Zdarzenia: AfterUpdate, BeforeUpdate, BeforeDragOver, Change, Click, Enter, Exit, Error, KeyDown, KeyUp, KeyPress, SpinDown, SpinUp

88 Kontrolki Obrazek Pozwala umieścić obrazek Obsługiwane formaty: BMP, CUR, GIF, ICO, JPG, WMF Możliwość automatycznego przeskalowania, także z zachowaniem proporcji Zdarzenia: BeforeDragOver, BeforeDropOrPaste, Click, DblClick, Error, MouseDown, MouseUp, MouseMove

89 Kontrolki RefEdit Kontrolka charakterystyczna dla formularzy tworzonych w Excelu Umożliwia zaznaczenie zakresu komórek w arkuszu Zdarzenia: AfterUpdate, BeforeUpdate, BeforeDragOver, BeforeDropOrPaste, Change, Click, DblClick, DropButtonClick, Enter, Exit, Error, KeyDown, KeyUp, KeyPress, MouseDown, MouseUp, MouseMove