Podział języków programowania:
Języki niskiego poziomu (asembler)
Języki wysokiego poziomu (Basic, Cobol, Fortran, C, C++, Pascal, Visual Basic)
Języki poziomu aplikacji (Excel VBA, Word VBA, Power Point VBA)
BASIC - Beginner'a All-Purpose Symbolic Instruction Code (Wszechstronny Kod Instrukcyji, Symboliczny, dla Początkujących)
Alt + F11 - przejście Edytor VBA / Excel
Eksplorator projektów:
moduły
MAKRO - ciąg poleceń zarejestrowanych przez rejestratora makr w wyniku działań użytkownika aplikacji lub stworzonych manualnie w edytorze Visual Basic
TYPY ADRESOWAŃ
Adresowanie względne - makro wykonuje polecenia w dowolnie wybranej komórce arkusza
Adresowanie bezwzględne - makro wykonuje polecenia w komórkach w których było zarejestrowane
OBJEKT W VISUAL BASIC
Właściwości
Metody
OBJEKT RANGE
Kopiowanie
Wybieranie
Przesuwanie
Sortowanie
Wymazywanie zawartości, formatu komórki
Ogólny schemat odwołań do obiektu:
Obiekt.właściwość
Obiekt.metoda
PRZYKŁĄD
Range(„B7”).ClearContents
Range(„C2”).ClearFormats
Application.Workbooks(“abc.xls”).Worksheets(“dane”).Range(“C2”).Clear
ZMIANA WARTOŚCI KOMÓRKI
Range(“C5”).Value = 7
Activecell.Font.Name = “Arial”
Activecell.Font.Bold = True
ODCZYTYWANIE WARTOŚCI KMÓRKI
Zmienna = Range(“A6”).Value
PRZENIESIENIE (rozdzielenie na 2 linijki)
&_ tekst
_ instrukcje
Kiedy możemy:
przed przecinkiem lub po przecinku
przed lub po znaku :=
przed lub po znaku =
przed lub po operatorach &, +, like, NOT, AND
ZAZNACZANIE KOMÓREK
Range(„A2”).Select
Range(„A2:A5”).Select
Range(“A2,A7,C7”).Select
Range(“A2:A7,C7”).Select
Range(Cells(3,1), Cells(3,6)).Select [Cells(rząd,kolumna)]
Cells.Select
Selection.Offset(2,4).Select
Selection.Offset(-2,-4).Select
Range(“A1”).Offset(2,2).Select
Activecell.End(xlright).Select [ostatnia kolumna]
Activecell.End(xldown).Select [ostatni wiersz]
Activecell.End(xlleft).Select [pierwsza kolumna]
Activecell.End(xlup).Select [pierwszy wiersz]
Selection.EntireRow.Select
Selection.EntireColumn.Select
Selection.Rows.Count
Selection.Columns.Count
WPISYWANIE DANYCH
Range(„B5”).Value = „...”
Range(“C5”).Formula = „…”
KOPIOWANIE KOMÓREK
Range(“B5”).Copy
Destination := Range(„A1:A6”)
PRZESUWANIE KOMÓREK
Range(“B5”).Cut
Destination := Range(„A1”)
USUWANIE KOMÓREK
Range(“B5”).Clear
ZMIENNE
Nazwy składają się z liter, cyfr i znaków z wyjątkiem: , # $ % & @ !
Bez zarejestrowanych słów
TYPY DANYCH
Boolean, Byte, Integer, Long, Single, Double, Currency, Decimal, Date, String, Object (umożliwia dostęp do dowolnego objektu), Array, Variant, Variant
DEKLARACJE ZMIENNYCH
wprost (na początku programu)
bezpośrednio przed użyciem (bez wcześniejszej deklaracji - Variant)
Np.
Dim x As Integer
Dim data As Date
Dim i As Double
Dim Nazwisko As String
Dim pseudo As String
Przykład
Dim nazwisko As String
Dim data_rozpoczecia As Date
Dim ile_left As Byte
Nazwisko = “Kowalski”
Data_rozpoczęcia = # 01/10/2000 #
Ile_left = Year (Now())- Year(data_rozp)
MsgBox “Osoba” + nazwisko + “studiuje” + Ile_left + “lat”
SKRÓCONA DEKLARACJA
String $
Integer %
Long &
Single !
Double #
Curray @
Przykłąd
Dim znaki $
Dim i %
Dim x #
Przykład
Dim x As Integer
Dim y %
Range(“A1”).Formula = ”WYNIK”
X = 5
Y = 3
With Range(“A2”)
.Value = “= 3 * 5”
.ColorIndex = 5
End With
ZMIENNE STATYCZNE
Static x
ZMIENNE OBIEKTOWE
Dim dane As Object
Set dane = _
Worksheets(„Arkusz1”).Range(Cells(1,1), Cells(5,5))
With dane.Interior
.ColorIndex = 5
.Pattern = x(Solid)
End With
STAŁE
Const x = 3 As Byte
Const y = 0.5
Początek i koniec programu:
Sub
...
End Sub
FUNKCJE (!!!)
Function nazwa (By Val x, By Ret y)
…
End Function
PRZYKŁAD
Public Function suma_1 (By Ref a, By Val b)
A = a * 2
B = b * 2
Suma_1 = a + b
End Function
Private Sub CommandButton 3_Clik()
Dim x,y As Integer
X = 2
Y = 5
Range(“A1”).Value = suma_1(x,y)
Range(“A2”).Value = x
Range(“A3”).Value = y
End Sub
ARGUMENTY OPCJONALNE
Public Function suma_1(a, b, Optional c)
If Is Missing (c) Then
C = 0
Suma_1 = a + b + c
End Function
KOMUNIKAT MsgBox
MsgBox komunikat, argumenty
USTAWIENIA PRZYCISKÓW
Vb OKOnly
Vb OkCancel
USTAWIENIA IKON
Vb Critical
Vb Question
VB Information
WARTOŚCI ZWRACANE PRZEZ MsgBox
OK. VbOK 1
Cancel VbCancel 2
Abort 3
Retry 4
Ignore 5
Yes 6
No 7
FUNKCJE InputBox
InputBox komunikat
Komunikat = „Podaj PIN”
OPERATORY PORÓWNANIA
= <> > < >= <= is [identyczne obiekty] like [równe, zgodne ze wzorem]
OPERATORY LOGICZNE
AND OR NOT
STRUKTURY DECYZYJNE
If warunek Then instrukcja
If warunek Then
instrukcja_1
instrukcja_2
End If
If warunek Then instrukcja_1 : instrukcja_2
OPERATORY LOGICZNE
If warunek_1 AND warunek_2 Then instrukcja
If warunek_1 OR warunek_2 Then
instrukcja_1
instrukcja_2
End If
If NOT warunek Then instrukcja_1 : instrukcja_2
If warunek Then instrukja_1 Else intrukcja_2
If warunek Then
instrukcja_1
instrukcja_2
Else
instrukcja_3
instrukcja_4
End If
PRZYKŁAD: instrukcja If i Else
If Range(„A1”).Font.ColorIndex = 5 Then Range(„A1”).Font.ColorIndex = 10
Else Range(“A1”).Font.ColorIndex = …
Zmienia kolor na 5 i 10
PRZYKŁAD:
Data = InputBox(„Podaj datę w formacie 23/10/2003)
DataF = WeekDay(Date(data))
If Data F >= 2 And DataF <=6 Then Msg Box “Dzień powszedni”
Else MsgBox “Weekend”
End If
WeekDay - zwraca numer
WARTOŚCI FUNKCJI WEEKDAY
Vb Sunday 1
Vb Monday 2
Vb Tuesday 3
Vb Wednesday 4
Vb Thursday 5
Vb Friday 6
Vb Sunday 7
STRUKTÓRA DECYZYJNA
If warunek Then
instrukcja_1
Else If warunek_2 Then
instrukcja_2
Else If warunek_3 Then
instrukcja_3
Else instrukcja_4
End If
STRUKTURA SelectCase
Select Case wyrażenie
Case wartosc_1
Instrukcja_do_wykonania
Case wartosc_2
Instrukcja_do_wykonania
Case wartosc_3
Instrukcja_do_wykonania
Case Else
Instrukcja_do_wykonania
End Select
Select Case liczba
Case Is >= 20
MsgBox „Liczba większa lub równa 20”
Case 19
MsgBox „Liczba 19”
Case If <=11
MsgBox „Liczba mniejsza lub równa 11”
Case Else
MsgBox „Liczba w przedziale <12;18>”
End Select
Select Case liczba
Case 1 To 20
MsgBox „Liczba w przedziale <1;20>”
Case 21 To 30
MsgBox „Liczba w przedziale <21;30>”
Case Else
MsgBox „Liczba poza przedziałem <1;30>”
End Select
Select Case liczba_1, liczba_2, liczba_3
Case 1 To 20
MsgBox “Liczba w przedziale <1;20>”
Case 21 To 30
MsgBox „Liczba w przedziale <21;30>”
Case Else
MsgBox „Liczby poza przedziałem <1;30>”
End Select
PĘTLA
Do While warunek
Instrukja_1
Instrukja_2
Instrukja_3
[pętla wykonuje się dopóki spełniony jest warunek]
Przykład
Dim Stop Time
Stop Time = Now + TimeValue(“00:00:05”)
Do While Now < StopTime
Application.DisplayStatusBar = Time
Application.StatusBar = Now
Loop
Application.DisplayStatusBar = False
[wyświetla czas przez 5 sekund]
Do
Instrukcja_1
Instrukcja_2
Instrukcja_3
Loop While warunek
[bez względu na warunek czy na wartość log. 0 lub 1 to co najmniej raz zostanie wykonane]
Do until warunek
Instrukcja_1
Instrukcja_2
Instrukcja_3
Loop
[dopóki warunek nie jest spełniony wykonywane są instrukcje]
Do
Instrukcja_1
Instrukcja_2
Instrukcja_3
Loop until warunek
Przykład
Do until Is Empty(ActiveCell)
ActiveCell.Font.ColorIndex = 5
ActiveCell.Offset(1,0).Select
Loop
Do While ActiveCell<>11 [ <- nie jestem pewien czy tu ma być 11]
ActiveCell.Font.ColorIndex = 5
ActiveCell.Offset(1,0).Select
Loop
(sprawdza czy komórka jest pusta)
PĘTLA For_Next
For i = start To end <[step liczba]
Instrukcja_1
Instrukcja_2
Instrukcja_3
Next [i]
PETLA For Each … Next
For Each element In grupa
Instrukcja_1
Instrukcja_2
Instrukcja_3
Next [Element]
Element - nazwa zmiennej przetrzymującej nazwę elementów kolekcji (przetrzymującej nazwę obiektów)
Grupa - nazwa kolekcji (WorkBooks, WorkSheets, Range(„A1:A25”)
Przykład
Dim arkusz As WorkSheets
Application.Display Alerts = False
WorkBooks.Add
WorkSheets(“Arkusz2”).Select
For Each arkusz In WorkSheets
ActiveWindow.SelectedSheets.Delete
Next arkusz
WCZESNE OPUSZCZANIE PĘTLI
Exit For
Exit Do
Przykłąd
Dim kom As Range
For Each kom In Range(„A1:Z25”)
If kom.Value = “ABC” Then
Kom.Value = “BEF”
Else
Exit For
End IF
Next kom
TABLICE
Tablica - rodzaj zmiennej reprezentującej zbiór wartości mających określony typ (integer, string, itp). Indeksowana grupa zmiennych o tej samej nazwie
Deklaracja tablic
Dim lista_osob (35) As String
Dim id (5) As Integer
Dim tablica_dwuwymiarowa (5,7) As String
Option Base 0 - tablica indeksowana od 0
Option Base 1 - tablica indeksowana od 1
Dim nazwisko (5 To 10) As String - 6 elementowa tablica
Przykład
Dim nazwisko (1 to 3) As string
Nazwisko(1) = “Kowalski”
Nazwisko(2) = “Nowak”
Nazwisko(3) = „Wiśniewski”
TABLICA STATYCZNA
Z góry ustalona wartość, czyli liczba elementów
Liczba elementów nie zmienia się po deklaracji
TABLICA DYNAMICZNA
Dim numer( ) As Integer
ReDim numer(5) - rezerwowanie [po???] dla 6 zmiennych typu integer
ReDim Preserve numer(20)
Array
Umożliwia worzenie tablic w trakcie kodu programu bez wcześniejszej deklaracji (typ Variant)
Dim Miasta as Variant
Miasta = Array (“Warszawa”, “Kraków”, “Gdańsk”)
Is Array
Umożliwia sprawdzenie czy dana zmienna jest tablicą (True, False)
Erase
Usówa zawartość tablicazarówno statycznej jak i dynamicznej
W przypadku tablicy dynamicznej zwalnia także pamięć
Cbound Ubound
Zwracają liczby całkowite,pzedstawiające dolny i górny zakres tablicy
Dim Miasto As
...
MsgBox Cbound (Miasta)
Dim tablica
...
ParamArray
Function dodaj (ParamArray liczby( )) As Integer
Dim suma As Integer
Dim liczba As Integer
For Each liczba In liczby
Suma = suma + liczba
Next
Dodaj = suma
End Function
PLIKI I FOLDER
CuroDir - zwraca nazwę bieżącego katalogu
CuroDir(„C:\”)
Name - zmienia nazwę pliku dyskowego folderu
Name stara_ścieżka As nowa_ścieżka
Np. Name (c:\abc.txt) As (c:\xyz.txt)
Dir - sprawdza obecność pliku dyskowego, folderu
Dir [(nazwa_scieżki [atrybuty])]
Przykład
Nazwa_pliku = Dir(„c:\”, vbHidden)
Do While Nazwa_pliku <> ” ”
Nazwa_pliku = Dir
Loop
Atrybuty
VbNormal 0 zwykły
VbHidden 2 ukryty
VbSystem 4 systemowy
VbVolume 8 etykieta dysku
VbDirectory 16 katalog, folder
Symbole wieloznaczne
? - jeden znak
* - wiele znaków
FileDateTime - funkcja sprawdza datę i czas utworzenia pliku lub jego ostatnią modyfikację
FileDateTime („C:\autoexec.bat”)
If DataValue(FileDataTime(C:\abc.txt)) < Current Date Then
MsgBox “W dniu dzisiejszym plik nie był modyfikowany”
End If
Filelen - zwraca długość pliku w bajtach
Filelen(nazwa_ścieżki)
Getattr - sprawdza atrybuty pliku
SetAttr - ustawia atrybuty pliku
Atrybuty zwracane przez f. GetAttr
VbNormal 0 zwykły
VbReadOnly 1 tylko do odczytu
VbHidden 2 ukryty
VbSystem 4 systemowy
VbDirectory 16 katalog, folder
VbArchive 32 plik zmieniony od ostatniego zapisu kopii zapasowej
Przykłąd
Dim atrybut As Integer
Atrybut = GetAttr(“C:\autoexec.bat”)
If atrybut And VbNormal Then
MsgBox “Plik zwykły”
SetAttr „C:\autoexec.bat”, VbHidden, VbReadOnly
Chdir - zmienia katalog
ChDir nazwa_ścieżki
ChDrive - zmiana dysku bieżącego
ChDrive dysk
ChDrive „D”
Mdir - zakładanie katalogu
Rdir - usówanie katalogu
Mdir nazwa ścieżki
Rdir nazwa ścieżki
FileCopy - kopiowanie pliku
FileCopy source, destination
Kill - usuwanie pliku
Kill nazwa_ścieżki
RODZAJE DOSTĘPU DO PLIKÓW
sekwencyjny - stosowany do plików tekstowych w których dane nie są zachowane w ustalonym pożądku
swobodny - stos. do plików tekstowych w których dane są w rekordach o ustalonej wielkości i w polach oddzielonych przecinkami
biurowy - stosow. do plików, które nie są plikami tekstowymi
Dostęp sekwencyjny (porównane do kasety magnetofonowej przewijanej do momentu zwolnienia)
Dostęp swobodny - płyta CD, wskazujemy na utwór bezpośrednio wybierając numer utworu
Otwieranie pliku:
Open nazwka_ściezki For tryb [Acces dostep] [blokada] As [#] numer_pliku [len = długość_rekordu]
Nazwa_ścieżki - ścieżka dostępu do pliku w raz z jego nazwą
Tryb - określa cel otwarcia pliku
Pliki sekwencyjny mogą być otwarte w 1 z 3 trybów
Input - do odczytu
Output - do zapisu z wymazaniem danych z pliku
Append - do zapisu danych na końcu pliku bez wymazywania danych
Acces - określa tryb dozwolonych operacji na plikach
Read - odczyt
Write - zapis
ReadWrite - odczyt i zapis
Blokada - okeśla operacje na pliku dozwolone dla innych programów
Shared
Lock Read
Lock Write
Lock ReadWrite
Numer_pliku - liczba z zakresu 1-511 służy do jednoznacznej identyfikacji pliku w kolejnych odwołaniach
Funkcja FreeFile - zwraca wolny numer pliku
Długość_rekodru - ilość znaków lub długość rekordu w bajtach
Np. Open „abc.txt” For Input As #1 [As #1 - identyfikuje plik abc.txt]
Częściowe we zawartości pliku sekwencyjnego liczone linia po linii
LineInput # numer_pliku, nazwa_zmiennej
(nazwa_zmiennej musi być typu Variant lub String)
Przykład
Dim wiersz As String
Open “C:\abc.txt” For Input As #1
Do While Not EOF(1) -> dopisanie na końcu pliku
Line Input #1,wiersz
MsgBox wiersz
Loop
Close(1)
Czytanie zawartości pliku sekwencyjnego znak po znaku:
Input (liczba, # numer_pliku)
Liczba - określa liczbę znaków do odczytu
Np.:
Dim znak As String
Dim i As Integer
Open “C:\abc.txt” For Input As #1
I = 0
Do While not EOF(1)
Znak = input(1, #1) <- wyraz z 1 pliku
If znak = „A” then
I = I + 1
Loop
MsgBox “Plik zawiera” & I & “znaków A”
Close(1)
Czytanie zawartości całego pliku sekwencyjnego:
Dim wiersze As String
Wiersze = Input (LOF (1), #1) [LOF - dlugość pliku]
Czytanie pliku sekwencyjnego
Input # numer_pliku, lista_zmiennych
BPE4736, 1500, 1998
BPA2734, 650, 1990
BPB 8974, 2000, 2002
Np.
Dim nazwa As String, pojemnosc As String
Dim rok As String
Open “C:\auto.txt” For Input As #1
Do While #1, nazwa, pojemnosc, rok
MsgBox nazwa
Otwarcie pliku sekwencyjnego w celu zapisu
Open „C:\abc.txt” For Output #1
Open „C:\abc.txt” For Append #1
Zapisywanie pliku sekwencyjnego
Write # nr_pliku, lista_zmiennych
Np.:
Dim nazwisko As String, imie As String
Dim data_ur As Date
Open “C:\dane.txt” For Output As #1
Nazwisko = “Kowalski”
Imie = “Jan”
Data_ur = # 03/05/1980 #
Write #1, nazwisko, imie, data_ur
Close(1)
„Kowalski”, „Jan”, # 03/05/1980 # <- wygląd
...
Print #1, nazwisko, imie, data_ur
Close(1)
Kowalski Jan 03/05/1980 <- wygląd
Np.:
Print #1, Tab(5)nazwisko, Tab(2)imie, Tab(30)data_ur
Print #1, Spac(5)naziwsko, Spac(20)imie, Spac(30)data_ur
Pliki o dostępie swobodnym
Typ dane_osobowe [zdefiniowany samodzielnie typ danych]
Imie As String *10
Nazwisko As String *20
End Type
Np:
Dim dane As dane_osobowe
Dim rekord As double
Dim temp_str As String
Rekord = 1
Open “dane.elc” For Random As #1 Len=Len(dane)
Do
Temp_str = InputBox (“Podaj nazwisko”)
If temp_str = “ “ then Exit Do
Dane.nazwisko = temp_str
Temp_str = InputBox (“Podaj imie”)
If temp_str = “ “ then Exit Do
Dane.imie = temp_str
Put #1 rekord, dane
Rekord = rekord + 1
Loop untill temp_str = „ „
Przykład
Put #1, rekord, dane - zapisywanie
Get #1, rekord, dane - pobieranie
Seek #1, nr_rekordu - ustawia
Pliki binarne
Dim zmienna As String *5
Get#1, Nr_bajtu, zmienna
Put #1
OKNA DIALOGOWE I FORMULARZE
Application.Dialogs(stała).Show
Nowy xlDialogNew
Otwórz xlDialogOpen
Zachowaj jako xlDialogSaveAs
Ustawienia strony xlDialogPageSetup
Drukuj xlDialogPrint
Czcionka xlDialogFont
Label
Umożliwia dodawanie dowolnego tekstu do formularza. Służy do dodawania podpisów, tytułów, nagłówków. Właściwości : Caption - przypisywanie tekstu
TextBox
Umożliwia + lub pobieranie tekstu do formularza służy do wpisywania licz, tekstu, formul
Właściwości:
Multiline - możliwość wpisywania do pola tekstu więcej niż jedna linię
WordWrap - automatyczne zawijanie tekstu
EnterKeyBehavior - naciśnięcie klawisza enter powoduje przejście do następnej linii
MaxLenght - ogranicza liczby liter w polu tekstowym
Frame
Umożliwia wizualne uporządkowanie obiektów formularza
Option button
Umożliwia wybranie jednej wśród wielu opcji. Jest to pr. Przycisk (Podobne jak Radio Button w Delphi)
Check Box
Pole wyboru służące do włączanie lub wyłączania danej opcji
Toggle button
Przełącznik wartości zmiennej Value = True . Odwzorowuje wciśnięty przycisk
List box
Lista wartości
Add Item - dodaje wartość do listy
Row Source - wskazuje źródło wyświetlanych wierszy
Column Count -
Column Head -
Multi Select -
Combo box
Połączenie pola text i pola listy
Scroll bar
Pasek przewijania
Wartość paska przewijania określa Value określa górna i dolna granica, wartości odpowiednio Max i Min.
Spin button
Pokrętło podobne jak scroll bar
Image
Pozwala umieścić obszar w formularzu dowolne pliki: BMP, CUR, GIF, ICO, JPG, WMF
Multi page control
Format wyświetla serię zakładek z których każda stanowi oddzielną stronę
Top strip control
Jedna zakładka
Ref Edit
Umożliwia zaznaczenie zakresu [k???em] w arkuszu i przekazać zaznaczenie do procedury VBA
Kolekcja
Obiekt zawierający zestaw powiązanych ze sobą obszarów
Klasa
Definicja obszaru, obejmująca jego nazwę, właściwości, metody i zdarzenia
Szablon, z którego tworzy się obiekty, tzw. instancje klasy
Instancja
Obiekt utworzony z klasy, która zawiera jego definicje
Tworząc instancję klasy tworzy się nowy obiekt mający cechy zdefiniowane przez klasę
Moduł klasy
Zawiera definicję klasy oraz jej właściwości, metody i zdarzenia. Procedury zapisane w module klasy stają się właściwościami i metodami obiektu
Moduł standardowy
Zawiera procedury Sub Function, które są dostępne dla innych procedur VBA i nie są związane z innymi obiektami
Formularze
Zawiera instrukcje VBA dla wszystkich procedur i zdarzeń, które występują w określonym formularzu lub jego...
Zdarzenie
Akcja rozpoznawana przez obiekt, dla której można zdefiniować odpowiednie zdarzenia powodowane są działaniem użytkownika, dział systemu
Procedura zdarzeń
Procedura wykonywana automatycznie w odpowiedzi na zdarzenie zainicjowane przez użytkownika i instrukcje programu lub systemu
TWORZENIE
Kolekcji obiektów
Dim nazwa_kolekcji As New Collection
Dodawanie elementów do kolekcji
Nazwa_kolekcji.Add item, key, before/after
Item - wyrażenie dowolnego typu określające element dodawany do kolekcji
Key - unikatowy ciąg znaków identyfikujący dany element kolekcji
Before
After
Usuwanie elementów
Nazwa_kolekcji.Remove item
Przykład
Do While kolekcja.count > 0
Kolekcja.Remove index := 1
Loop
For Each element In Kolekcja
ID = 1
Czy usunąć element tak/nie
If tak Then
Kolekcja.Remove Index := ID
Else
ID = ID + 1
End If
Tworzenie własnych klas
Tworzenie modułu klasy
Deklarowanie zmiennych
Pobieranie i ustawienie właściwości obiektu
Tworzenie metod obiektu
Procedury zdarzeń
Deklaracja zmiennych
Private c_imie As String
Private c_nazwisko As String
Private c_id As Integer
Pobieranie i ustawianie właściwości obiektu
Property Let ustawia wartości właściwości
Property Get zwraca wartości właściwości
Property Set ustawia odwołanie........
Private C_imie As String
Private C_nazwisko As String
Private C_ID As Integer
Property Let Nazwisko (N As String)
C_Nazwisko = N
End Property
Property Get Nazwisko () As String
Nazwisko = C_nazwisko
End Property
Przykład
Dim dane As New moja_klasa
Dim Nazwisko As String
Private Sub CommandButton1.Clik()
Nazwisko = dane.Nazwisko
End Sub
Private Sub CommandButton2.Click()
Nazwisko = “Kowalski”
Dane.Nazwisko = Nazwisko
End Sub
Tworzenie metod obiektów
Metody wykonują operacje na danych przechowywanych w klasie obiektu
Metody i [???] mogą być dostępne poza przedmiotem klasy należy zdeklarować jako Public
Procedury zdarzeń w klasie modułu
Obiekty tworzone przez użytkownika Reagują na dwa zdarzenia:
Initialize
Terminate
Zdarzenie Initialize występuje podczas tworzenia nowej instancji klasy
Dim dane As New moja_klasa