Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wird auf der Modulebene verwendet, um einen benutzerdefinierten Datentyp zu definieren, der ein oder mehrere Elemente enthält.
Syntax
[ Private | Public ] Typevarname
-
elementname [ ( [ subscripts ] ) ] Astype
[ elementname [ ( [ subscripts ] ) ] Astype ]
. . .
Die Anweisungssyntax Type hat folgende Teile:
| Teil | 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 mit variabler Länge), String-Länge (für Zeichenfolgen mit fester Länge), Objekt, Variante, ein anderer benutzerdefinierte Typ oder ein Objekttyp sein. |
Hinweise
Die Type-Anweisung kann nur auf der Modulebene verwendet werden. Nachdem Sie mithilfe der Type-Anweisung einen benutzerdefinierten Typ deklariert haben, können Sie eine Variable dieses Typs an einer beliebigen Stelle im Bereich 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 Schlüsselworts Private 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 Beispiel oben beinhaltet StateData das statische Array CityCode und der Datensatz Washington hat dieselbe 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.