|
|
|
|
|
Procedurele programmering: Een programma loopt
af in de volgorde waarin het geprogrammeerd is. |
|
Events-driven (Actie-gestuurd) programmering.
Een programma doorloopt verschillende delen van de code afhankelijk van de
actie van de gebruiker, het systeem of andere programma’s. |
|
|
|
|
Maak een interface |
|
Schrijf code bij de betreffende events
voorbeeld met Form, controles, procedures |
|
Test het programma |
|
|
|
|
Help menu met inhoud, index en wizard |
|
Context gevoelige hulp (vb):
type een woord en toets F1
bij een foutmelding toets F1 |
|
Hulp in de Code editor (vb)
Type object en punt
Type functie en spatie |
|
|
|
|
Zichtbaar maken Toolbox
intrinsiek of ActiceX controls |
|
Dubbelklik tool of sleep naar formulier |
|
Design time eigenschappen met
Properties window of Properties page |
|
Runtime eigenschappen
instellen, opvragen in code
control
. eigenschap |
|
|
|
|
Event procedures; aangeroepen door muisklik,
toetsenbord, systeem of object. |
|
Algemene procedures; Sub of Function procedures
worden door het programma aangeroepen.
Function geeft resultaat,
Sub niet. |
|
|
|
|
Informatie wordt doorgegeven aan de procedure
dmv variabelen; de argumenten. |
|
ByVal; Een kopie wordt doorgegeven. De variabele
kan niet gewijzigd worden. |
|
ByRef; Een verwijzing wordt doorgegeven. De
variabele kan gewijzigd worden. (standaard) |
|
|
|
|
Public procedures kunnen overal vandaan
aangeroepen worden. |
|
Private procedures kunnen alleen aangeroepen
worden vanuit het formulier of de code waarin deze is gedefinieerd. |
|
|
|
|
For i=1 to 10
....
Next i |
|
Do while i < 10
...
Loop |
|
|
|
|
If i
> 1 Then
....
Else
....
Endif |
|
Select Case i
Case 1
.......
Case 2
.......
Case 3
......
End
Select |
|
|
|
|
With ......
......
......
End with |
|
|
|
|
Variabelen en constantes worden gebruikt voor
onderhoudbaarheid en leesbaarheid. |
|
Constantes veranderen niet variabelen wel. |
|
Dim: bovenaan in module betekent de variabele is
alleen bruikbaar in alle procedures van de module.
Dim in procedure betekent alleen bruikbaar in procedure. |
|
Public: bruikbaar in alle procedures van alle
modules van een project. |
|
Static: alleen bruikbaar in de procedure, de
waarde blijft bewaard. |
|
|
|
|
Variabele kunnen oa getal, tekst, object data
bevatten. As long (1,2,3) As Double (1.253), As String (“ÁBC”) As Object. |
|
Als er geen type is aangegeven wordt dit een
Variant. Een variant gebruikt meer geheugen en is trager. Als bovenaan
Option Explicit aangegeven staat moeten alle variabele gedeclareerd zijn. |
|
|
|
|
Constanten worden gedefinieerd met CONS. Dit kan
voorafgegaan worden door Public of Private. |
|
Private: bruikbaar in alle procedures van de
module. |
|
Public: Gedefinieerd in de standaard module zijn deze beschikbaar in alle
procedures van alle modules. |
|
|
|
|
Componenten bevatten data en functies voor een
bepaalde toepassing. Het kan wel of niet een interface hebben. |
|
Bij het gebruik van het object wordt eerst een
referentie gemaakt naar de code (type_library of applicatie), vervolgens
wordt een kopie gemaakt (Set ... =...). Daarna kunt u de eigenschappen,
methoden en events van het object gebruiken. |
|
|
|
|
Een collectie is een object dat objecten van
dezelfde klasse bevat. Collecties hebben de volgende eigenschappen of
methoden. |
|
Add: toevoegen |
|
Remove: verwijderen |
|
Item: object |
|
Count:
aantal |
|
U bewerkt alle objecten uit een collectie
met:
For Each ... In ...
..........
Next |
|
|
|
|
Plaats breakpoint in marge |
|
Step into, over, out (F8, Sh+F8, Ctr+Sh+f8) |
|
Watch window (Ook AutoCAD) |
|
Immediate window
Debug.print in code
? Variabele_naam in immediate window |
|
Locals window |
|
|
|
|
Zet een val op voor fouten
On Error GoTo .... |
|
Schrijf code voor foutafhandeling
Err.Number of Err.Description en Error.Clear Err.Raise nn geeft VBA
foutwindow die hoort bij nn |
|
Ga verder
Resume of Resume next |
|
Alternatief
Inline foutafhandeling
On Error Resume Next
if Err.Number <> 0 then .... |
|
|
|
|
Tools > Options > General |
|
Break on All Errors
On error wordt genegeerd. |
|
Break in Class Module
Component geeft foutmelding |
|
Break on Unhandled Errors
VBA geeft altijd een foutmelding |
|