Deftype-Anweisungen

Wird auf Modulebene verwendet, um den Standarddatentyp für Variablen, anProzeduren übergebene Argumente und den Rückgabetyp für Function - und Property Get-Prozeduren festzulegen, deren Namen mit den angegebenen Zeichen beginnen.

Syntax

DefBoolletterrange, [ letterrange ] . . . .DefByteletterrange, [ letterrange ] . . . .DefIntletterrange, [ letterrange ] . . . .DefLngletterrange, [ letterrange ] . . . .DefLngLngletterrange, [ letterrange ] . . . (gilt nur für 64-Bit-Plattformen) DefLngPtrletterrange, [ letterrange ] . . .DefCurletterrange, [ letterrange ] . . . .DefSngletterrange, [ letterrange ] . . . .DefDblletterrange, [ letterrange ] . . . .DefDecletterrange, [ letterrange ] . . . .DefDateletterrange, [ letterrange ] . . . .DefStrletterrange, [ letterrange ] . . . .DefObjletterrange, [ letterrange ] . . . .DefVarletterrange, [ letterrange ] . . . .

Das erforderliche letterrange-Argument weist die folgende Syntax auf: letter1 [ -letter2 ]

Mit den Argumenten letter1 und letter2 wird der Namensbereich angegeben, für den Sie einen standardmäßigen Datentyp festlegen können. Jedes Argument stellt den ersten Buchstaben der Variablen, des Arguments, der Function-Prozedur oder des Property Get-Prozedurnamens dar und kann ein beliebiger Buchstabe des Alphabets sein. Die Groß-/Kleinschreibung von Buchstaben wird für letterrange nicht berücksichtigt.

HinwBemerkungeneise

Der Name der Anweisung bestimmt den Datentyp.

Anweisung Datentyp
DefBool Boolean
DefByte Byte
DefInt Integer
DefLng Long
DefLngLng LongLong (nur auf 64-Bit-Plattformen gültig)
DefLngPtr LongPtr
DefCur Currency
DefSng Single
DefDbl Double
DefDec Decimal (derzeit nicht unterstützt)
DefDate Date
DefStr String
DefObj Objekt
DefVar Variant

Im folgenden Programmfragment Message ist beispielsweise eine Zeichenfolgenvariable.

DefStr A-Q
. . .
Message = "Out of stack space."

Eine Deftype-Anweisung wirkt sich nur auf das Modul aus, in dem sie verwendet wird. Beispielsweise wirkt sich eine DefInt-Anweisung in einem Modul nur auf den Standarddatentyp von Variablen, an Prozeduren übergebene Argumente und den Rückgabetyp für Function - und Property Get-Prozeduren aus, die in diesem Modul deklariert wurden. Der Standarddatentyp von Variablen, Argumenten und Rückgabetypen in anderen Modulen ist nicht betroffen. Wenn nicht explizit mit einer Deftype-Anweisung deklariert wird, lautet der Standarddatentyp für alle Variablen, alle Argumente, alle Function-Prozeduren und alle PropertyGet-Prozeduren Variant.

Wenn Sie einen Buchstabenbereich angeben, wird in der Regel der Datentyp für Variablen definiert, die mit Buchstaben in den ersten 128 Zeichen des Zeichensatzes beginnen. Wenn Sie jedoch den Buchstabenbereich A–Z angeben, legen Sie den Standardwert auf den angegebenen Datentyp für alle Variablen fest, einschließlich Variablen, die mit internationalen Zeichen aus dem erweiterten Teil des Zeichensatzes (128–255) beginnen.

Nachdem der Bereich A bis Z angegeben wurde, können Sie keine Teilbereiche von Variablen mithilfe von Def-Typanweisungen mehr neu definieren. Wenn Sie nach der Angabe eines Bereichs einen zuvor definierten Buchstaben in eine andere Deftype-Anweisung einschließen, tritt ein Fehler auf. Sie können jedoch explizit den Datentyp einer beliebigen Variablen angeben, ob definiert oder nicht, indem Sie eine Dim-Anweisung mit einer Astype-Klausel verwenden.

Sie können beispielsweise den folgenden Code auf Modulebene verwenden, um eine Variable als Double zu definieren, obwohl der Standarddatentyp Integer ist.

DefInt A-Z
Dim TaxRate As Double

Deftype-Anweisungen wirken sich nicht auf Elemente mit benutzerdefinierten Typen aus, weil die Elemente explizit deklariert werden müssen.

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.