Public, instructie

       

Gebruik deze instructie op moduleniveau om openbare variabelen te declareren en geheugenruimte toe te wijzen.

Syntaxis

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

De syntaxis van de instructie Public bevat de volgende onderdelen:

Onderdeel Beschrijving
WithEvents Optioneel. Een sleutelwoord dat de varnaam opgeeft als een objectvariabele waarmee wordt gereageerd op gebeurtenissen die worden veroorzaakt 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 voor elke variabele die u declareert een aparte component As type.

Notities

Variabelen die zijn gedeclareerd met de instructie Public, zijn beschikbaar voor alle procedures in alle modules in alle toepassingen, tenzij Option Private Module is ingesteld. In dit geval zijn de variabelen alleen openbaar binnen het project waarin deze zijn geplaatst.

Let op   U kunt de instructie Public niet gebruiken in een klassenmodule om een tekenreeksvariabele met een vaste lengte te declareren.

Gebruik de instructie Public om het gegevenstype van een variabele te declareren. Zo declareert de volgende instructie de variabele als Integer:

Public NumberOfEmployees As Integer

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

Public 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 Public 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.