Type-Anweisung
Wird auf Modulebene verwendet, um einen benutzerdefinierten Datentyp zu definieren, der mindestens ein Element enthält.
Syntax
[ Privat | Öffentlich ] Geben Sievarname ein.
-
elementname [ ( [ subscripts ] ) ] Astype
[ Elementname [ ( [ subscripts ] ) ] Astype ]
. . .
Die Anweisungssyntax Type hat folgende Teile:
Bestandteil | Beschreibung |
---|---|
Public | Optional. Wird verwendet, um benutzerdefinierte Typen zu deklarieren, die für alle Prozeduren in allen Modulen in allen Projekten verfügbar sind. |
Private | Optional. Wird verwendet, um benutzerdefinierte Typen zu deklarieren, die nur innerhalb des Moduls verfügbar sind, in dem die Deklaration durchgeführt wird. |
varname | Erforderlich. Name des benutzerdefinierten Typs; folgt Standardnamenskonventionen für Variablen. |
Elementname | Erforderlich. Name eines Elements des benutzerdefinierten Typs. Elementnamen folgen ebenfalls Standardnamenskonventionen für Variablen, allerdings können Schlüsselwörter verwendet werden. |
subscripts | 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. |
type | Erforderlich. Datentyp des Elements; Kann Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (derzeit nicht unterstützt), Date, String (für Zeichenfolgen variabler Länge), Zeichenfolgenlänge (für Zeichenfolgen mit fester Länge), Object, Variant, ein anderer benutzerdefinierter Typ oder ein Objekttyp sein. |
Hinweise
Die Type-Anweisung kann nur auf Modulebene verwendet werden. Nachdem Sie einen benutzerdefinierten Typ mithilfe der Type-Anweisung deklariert haben, können Sie eine Variable dieses Typs an einer beliebigen Stelle innerhalb des Bereichs der Deklaration deklarieren. Verwenden Sie Dim, Private, Public, ReDim oder Static, um eine Variable eines benutzerdefinierten Typs zu deklarieren.
In Standardmodulen und Klassenmodulen sind benutzerdefinierte Typen standardmäßig öffentlich. Diese Sichtbarkeit kann mithilfe des privaten Schlüsselwort (keyword) geändert werden.
Zeilennummern und Zeilenmarken sind in Type...End Type-Blocks nicht zulässig.
Benutzerdefinierte Typen werden häufig mit Datensätzen verwendet. Diese bestehen oft aus einigen Elementen unterschiedlicher Datentypen.
Das folgende Beispiel zeigt die Verwendung von Arraays mit fester Größe in einem benutzerdefinierten Typ:
Type StateData
CityCode (1 To 100) As Integer ' Declare a static array.
County As String * 30
End Type
Dim Washington(1 To 100) As StateData
Im vorherigen Beispiel StateData
schließt das CityCode
statische Array ein, und der Datensatz Washington
hat die gleiche Struktur wie StateData
.
Wenn Sie ein Array mit fester Größe innerhalb eines benutzerdefinierten Typs deklarieren, müssen seine Abmessungen mit numerischen Literalen oder Konstanten anstelle von Variablen deklariert werden.
Beispiel
In diesem Beispiel wird die Type -Anweisung verwendet, um einen benutzerdefinierten Datentyp zu definieren. Die Type -Anweisung wird nur auf Modulebene verwendet. Wenn eine Type -Anweisung in einem Klassenmodul erscheint, muss ihr das Schlüsselwort Private vorangestellt werden.
Type EmployeeRecord ' Create user-defined type.
ID As Integer ' Define elements of data type.
Name As String * 20
Address As String * 30
Phone As Long
HireDate As Date
End Type
Sub CreateRecord()
Dim MyRecord As EmployeeRecord ' Declare variable.
' Assignment to EmployeeRecord variable must occur in a procedure.
MyRecord.ID = 12003 ' Assign a value to an element.
End Sub
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.