|
Die Excel/VBA-Beispiele (incl. aller Arbeitsmappen: http://www.herber.de/samples/inhalt.html)
Static-Anweisung
Wird auf Prozedurebene verwendet, um Variablen zu deklarieren und den nötigen Speicher zu reservieren. Mit der Static-Anweisung deklarierte Variablen behalten ihren Wert, solange der Code ausgeführt wird. Syntax Static VarName[([Indizes])] [As [New] Typ] [, VarName[([Indizes])] [As [New] Typ]] . . . Die Syntax der Static-Anweisung besteht aus folgenden Teilen:
Bemerkungen Wenn der Code eines Moduls ausgeführt wird, behalten mit der Static-Anweisung deklarierte Variablen ihren Wert, bis das Modul zurückgesetzt oder neu gestartet wird. In nichtstatischen Prozeduren können Sie die Static-Anweisung verwenden, um explizit Variablen zu deklarieren, die nur innerhalb der Prozedur verfügbar sind, deren Lebensdauer aber der des Moduls entspricht, in dem die Prozedur definiert wurde. Mit einer Static-Anweisung innerhalb einer Prozedur können Sie den Datentyp einer Variablen deklarieren, die ihren Wert zwischen Prozeduraufrufen behält. Die folgende Anweisung deklariert zum Beispiel ein Datenfeld fester Größe für ganze Zahlen: Static AngestellenAnzahl(200) As Integer Die folgende Anweisung deklariert eine Variable für eine neue Instanz einer Tabelle: Static X As New Worksheet Wenn das Schlüsselwort New nicht bei der Deklaration einer Objektvariablen verwendet wird, existiert momentan keine Instanz des Objekts. Einer Variablen mit einem Verweis auf ein Objekt muß mit der Set-Anweisung ein existierendes Objekt zugewiesen werden, bevor sie verwendet werden kann. Eine deklarierte Objektvariable hat vor dem Zuweisen eines Objekts den Spezialwert Nothing, der anzeigt, daß die Variable auf keine bestimmte Instanz eines Objekts verweist. Wenn Sie das Schlüsselwort New bei der Deklaration verwenden, so wird eine Instanz des Objekts aufgrund der ersten auf das Objekt verweisenden Referenz erstellt. Wenn Sie keinen Datentyp oder Objekttyp angeben und auch keine DefTyp-Anweisung in dem Modul verwenden, erhält die Variable standardmäßig den Datentyp Variant. Anmerkung Die Anweisung Static und das Schlüsselwort Static wirken sich unterschiedlich auf die Lebensdauer von Variablen aus. Wenn Sie eine Prozedur mit dem Schlüsselwort Static deklarieren (wie in Static Sub VerkaufsZahlen()), wird der Speicherplatz für alle lokalen Variablen in der Prozedur einmal reserviert, und die Werte der Variablen bleiben während der gesamten Laufzeit des Codes erhalten. In nichtstatischen Prozeduren wird der Speicherplatz für Variablen bei jedem Aufruf der Prozedur neu reserviert und am Ende der Prozedur wieder freigegeben. Die Anweisung Static deklariert Variablen in nichtstatischen Prozeduren als statisch mit dem Ergebnis, daß diese Variablen ihren Wert während der gesamten Laufzeit des Programms behalten. Bei der Initialisierung wird numerischen Variablen der Wert 0 und Zeichenfolgen variabler Länge eine Null-Zeichenfolge ("") zugewiesen. Zeichenfolgen fester Länge werden mit Nullen aufgefüllt, und Variant-Variablen werden mit Empty initialisiert. Alle Elemente einer Variablen mit einem benutzerdefinierten Typ werden genauso initialisiert wie eigenständige Variablen des entsprechenden Datentyps. Anmerkung Wenn Sie die Static-Anweisung innerhalb einer Prozedur verwenden, sollten Sie sie zusammen mit allen anderen Deklarationen, wie beispielsweise der Dim-Anweisung (sofern vorhanden), an den Anfang der Prozedur stellen. |