Type, instructie

       

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.