Gebruik deze instructie op moduleniveau om een door de gebruiker gedefinieerd gegevenstype te definiδren dat uit een of meer onderdelen bestaat.
Syntaxis
[Private | Public] Type varnaam
onderdeelnaam [([subscripts])] As type
[onderdeelnaam [([subscripts])] As type]
. . .
End Type
De syntaxis van de instructie Type bevat de volgende onderdelen:
Onderdeel | Beschrijving |
---|---|
Public | Optioneel. Hiermee declareert u door de gebruiker gedefinieerde typen die beschikbaar zijn voor alle procedures in alle modules in alle projecten. |
Private | Optioneel. Hiermee declareert u door de gebruiker gedefinieerde gegevenstypen die alleen beschikbaar zijn in de module waarin deze zijn gedeclareerd. |
Varnaam | Vereist. De naam van de variabele. Voor deze naam gelden de standaardregels voor naamgeving van een variabele. |
onderdeelnaam | Vereist. De naam van een onderdeel van een door de gebruiker gedefinieerd type. Voor onderdeelnamen gelden eveneens de standaardregels voor naamgeving van variabelen, behalve dat ook sleutelwoorden kunnen worden gebruikt. |
subscripts | Als u de benedengrens van een matrix niet expliciet opgeeft met laagste, wordt deze bepaald door de instructie Option Base. De benedengrens is nul als u de instructie Option Base niet hebt opgegeven. |
type | Vereist. Het gegevenstype van de variabele. Toegestane typen zijn: Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (momenteel niet ondersteund), Date, String (voor tekenreeksen met variabele lengte), String * lengte (voor tekenreeksen met vaste lengte), Object, Variant, een door de gebruiker gedefinieerd type of een objecttype. |
Notities
U kunt de instructie Type alleen op moduleniveau gebruiken. Nadat u met de instructie Type een door de gebruiker gedefinieerd type hebt gedeclareerd, kunt u op een willekeurige plaats binnen het bereik van de declaratie een variabele van dit type declareren. Gebruik Dim, Private, Public, ReDim of Static om een variabele van een door de gebruiker gedefinieerd type te declareren.
In standaardmodules en klassenmodules zijn door de gebruiker gedefinieerde typen standaard openbaar. U kunt deze instelling wijzigen met het sleutelwoord Private.
U kunt geen regelnummers en regelnamen opnemen in blokken met Type...End Type.
Door de gebruiker gedefinieerde gegevenstypen worden vaak samen gebruikt met gegevensrecords, die meestal bestaan uit een aantal gekoppelde onderdelen van verschillende gegevenstypen.
In het volgende voorbeeld kunt u zien hoe matrices met vaste grootte worden gebruikt in een door de gebruiker gedefinieerd type:
Type StateData
CityCode (1 To 100) As Integer ' Declare a static array.
County As String * 30
End Type
Dim Amsterdam(1 To 100) As StateData
In het voorgaande voorbeeld bevat LandGegevens
de statische matrix PostCode
, en heeft de record Amsterdam
dezelfde structuur als LandGegevens
.
Wanneer u een matrix met vaste lengte declareert in een door de gebruiker gedefinieerd type, dient u de dimensies van de matrix te declareren met numerieke letterlijke waarden of constanten en niet met variabelen.