Dim, instructie

       

Declareert variabelen en wijst geheugenruimte toe.

Syntaxis

Dim [WithEvents] varnaam[([subscripts])] [As [New] type] [, [WithEvents] varnaam[([subscripts])] [As [New] type]] . . .

De syntaxis van de instructie Dim bevat de volgende onderdelen:

Onderdeel Beschrijving
WithEvents Optioneel. Een sleutelwoord dat opgeeft dat varnaam een objectvariabele is waarmee u reageert op gebeurtenissen die zijn gestart door een ActiveX-object. WithEvents is alleen geldig in klassenmodules. U kunt met WithEvents zoveel individuele variabelen declareren als u wilt, maar u kunt met WithEvents geen matrices maken. U kunt New niet gebruiken met WithEvents.
Varnaam Vereist. De naam van de variabele. Voor deze naam gelden de standaardregels voor naamgeving van een variabele.
subscripts Optioneel. Dimensies van een matrixvariabele. U kunt maximaal 60 meervoudige dimensies declareren. Voor het argument subscripts geldt de volgende syntaxis:

[laagste To] hoogste [, [laagste To] hoogste] . . .

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.

New Optioneel. Een sleutelwoord waarmee u impliciet een object kunt maken. Als u New gebruikt bij het declareren van een objectvariabele, wordt een nieuw object gemaakt tijdens de eerste verwijzing, zodat u niet de instructie Set hoeft te gebruiken om een objectverwijzing toe te wijzen. U kunt met het sleutelwoord New geen variabelen van een intrinsiek gegevenstype declareren, geen afhankelijke objecten declareren en u kunt New niet gebruiken met WithEvents.
type Optioneel. 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. Gebruik een aparte component As type voor elke variabele die u declareert.

Notities

De variabelen die u op moduleniveau met Dim declareert, zijn beschikbaar voor alle procedures in de module. Op procedureniveau zijn de variabelen alleen beschikbaar binnen de procedure.

Gebruik de instructie Dim op module- of procedureniveau om het gegevenstype van een variabele te declareren. De volgende instructie declareert de variabele bijvoorbeeld als Integer.

Dim NumberOfEmployees As Integer

U kunt de instructie Dim ook gebruiken om het objecttype van een variabele te declareren. De volgende instructie declareert een variabele voor een nieuw werkblad.

Dim X As New Worksheet

Als het sleutelwoord New niet wordt gebruikt bij het declareren van een objectvariabele, moet de variabele die verwijst naar het object, worden toegewezen aan een bestaand object met behulp van de instructie Set voordat deze kan worden gebruikt. Totdat de gedeclareerde objectvariabele is toegewezen aan een object, heeft deze de speciale waarde Nothing, waarmee wordt aangegeven dat de variabele niet verwijst naar een bepaald object.

U kunt de instructie Dim ook gebruiken met lege haakjes om een dynamische matrix te declareren. Als u dit hebt gedaan, gebruikt u de instructie ReDim in een procedure om het aantal dimensies en onderdelen van de matrix te definiδren. Als u de grootte van een matrixvariabele expliciet hebt opgegeven met de instructie Private, Public of Dim, treedt een fout op als u de dimensie opnieuw declareert.

Als u geen gegevens- of objecttype opgeeft en er geen instructie Deftype in de module is opgenomen, is de variabele standaard van het type Variant.

Variabelen worden als volgt ge∩nitialiseerd: een numerieke variabele wordt ge∩nitialiseerd op 0, een tekenreeks met variabele lengte wordt ge∩nitialiseerd op een tekenreeks met een lengte nul ("") en een tekenreeks met vaste lengte wordt opgevuld met nullen. Een variabele Variant wordt ge∩nitialiseerd op Empty. Elk onderdeel van een door de gebruiker gedefinieerde variabele wordt ge∩nitialiseerd alsof het een afzonderlijke variabele betreft.

Opmerking   Plaats de instructie Dim aan het begin van een procedure. In de praktijk is gebleken dat dit de meest logische positie is.