Public-Anweisung
Wird auf Modulebene verwendet, um öffentliche Variablen zu deklarieren und Speicherplatz zuzuweisen.
Syntax
Public [ WithEvents ] varname [ ( [ subscripts ] ) ] [ As [ New ] type ]
[ , [ WithEvents ] varname [ ( [ subscripts ] ) ] [ As [ New ] type ]] . . . .
Die Syntax der Public-Anweisung umfasst die folgenden Teile:
Bestandteil | Beschreibung |
---|---|
WithEvents | Optional. Schlüsselwort , das angibt, dass varname eine Objektvariable ist, die verwendet wird, um auf Ereignisse zu reagieren, die von einem ActiveX-Objekt ausgelöst werden. WithEvents ist nur in Klassenmodulen gültig. Sie können beliebig viele einzelne Variablen mit WithEvents deklarieren, aber Sie können keine Arrays mit WithEvents erstellen und auch nicht New mit WithEvents verwenden. |
varname | Erforderlich. Name der Variable; folgt den Standard-Benennungskonventionen. |
subscripts | Optional. Dimensionen einer Arrayvariablen; es können bis zu 60 Dimensionen deklariert werden. Das Argument subscripts verwendet die folgende Syntax: [ lowerTo ] upper [ , [ lowerTo ] upper ] . . . Wenn sie nicht explizit in lower angegeben ist, wird die Untergrenze eines Arrays durch die Option Base-Anweisung gesteuert. Die Untergrenze ist Null, wenn keine Option Base-Anweisung vorhanden ist. |
New | Optional. Schlüsselwort, das die implizite Erstellung eines Objekts ermöglicht. Wenn Sie New beim Deklarieren der Objektvariablen verwenden, wird beim ersten Verweis darauf eine neue Instanz des Objekts erstellt. Somit müssen Sie nicht die Set-Anweisung verwenden, um den Objektverweis zuzuweisen. Der neue Schlüsselwort (keyword) kann nicht zum Deklarieren von Variablen eines systeminternen Datentyps verwendet werden. Sie kann auch nicht zum Deklarieren von Instanzen abhängiger Objekte und nicht mit WithEvents verwendet werden. |
type | Optional. Datentyp der Variablen; Kann Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (derzeit nicht unterstützt), Date, String (für Zeichenfolgen mit variabler Länge), Zeichenfolgenlänge (für Zeichenfolgen mit fester Länge), Object, Variant, ein benutzerdefinierter Typ oder ein Objekttyp sein. Verwenden Sie eine eigene Astype-Klausel für jede definierte Variable. |
Hinweise
Variablen, die mit der Public-Anweisung deklariert werden, sind für alle Prozeduren in allen Modulen in allen Anwendungen verfügbar, es sei denn , option Private Module ist aktiv; In diesem Fall sind die Variablen nur innerhalb des Projekts öffentlich, in dem sie sich befinden.
Die Public -Anweisung kann nicht in einem Klassenmodul zum Deklarieren einer Zeichenfolgenvariable mit fester Länge verwendet werden.
Verwenden Sie die Public -Anweisung zum Deklarieren des Datentyps einer Variable. Mithilfe der folgenden Anweisung wird beispielsweise eine Variable als Ganzzahl deklariert:
Public NumberOfEmployees As Integer
Verwenden Sie zudem eine Public -Anweisung zum Deklarieren des Objekttyps einer Variable. Mit der folgenden Anweisung wird eine Variable für eine neue Instanz eines Arbeitsblatts deklariert:
Public X As New Worksheet
Wenn das Schlüsselwort New beim Deklarieren einer Objektvariablen nicht verwendet wird, muss der Variablen, die auf das Objekt verweist, mit der Set-Anweisung ein vorhandenes Objekt zugewiesen werden, bevor sie verwendet werden kann. Die deklarierte Objektvariable hat bis zum Zuweisen eines Objekts den speziellen Wert Nothing, der angibt, dass sie auf keine bestimmte instance eines Objekts verweist.
Sie können die Public -Anweisung auch mit leeren Klammern verwenden, um ein dynamisches Array zu deklarieren. Verwenden Sie nach dem Deklarieren eines dynamischen Arrays die ReDim-Anweisung in einer Prozedur, um die Anzahl der Dimensionen und Elemente in dem Array zu definieren. Wenn Sie versuchen, eine Dimension für eine Arrayvariable, deren Größe explizit in einer Private-, Public- oder Dim-Anweisung angegeben wurde, neu zu definieren, tritt ein Fehler auf.
Wenn Sie keinen Datentyp oder Objekttyp angeben und keine Deftype-Anweisung im Modul vorhanden ist, ist die Variable standardmäßig Variant .
Beim Initialisieren der Variablen werden numerische Variablen als 0, Zeichenfolgen mit variabler Länge als Zeichenfolge der Länge null ("") und Zeichenfolgen mit fester Länge als mit Nullen angefüllte Zeichenfolge initialisiert. Variant -Variablen werden auf Empty initialisiert. Die einzelnen Elemente einer Variable eines benutzerdefinierten Typs werden so initialisiert, als würde es sich um separate Variablen handeln.
Beispiel
In diesem Beispiel wird die Public-Anweisung auf Modulebene (Abschnitt "Allgemein") eines Standardmoduls verwendet, um Variablen explizit als öffentlich zu deklarieren. Demnach sind sie für alle Prozeduren in allen Modulen sämtlicher Anwendungen verfügbar, es sei denn, das optionale private Modul ist aktiviert.
Public Number As Integer ' Public Integer variable.
Public NameArray(1 To 5) As String ' Public array variable.
' Multiple declarations, two Variants and one Integer, all Public.
Public MyVar, YourVar, ThisVar As Integer
Siehe auch
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.