Optimize Performance VBA in Microsoft Word , indem Sie sich mit , wie viel Speicher verschiedene Datentypen , Operatoren und Funktionen verwenden . Zum Beispiel sind "integer" Variablen automatisch auf " long" Variablen umgewandelt , was bedeutet, es wäre klüger , wenn möglich, nur zu erklären, "long" Variablen anstelle von "integer" Variablen . Ähnliche Tricks gibt es für viele andere VBA -Komponenten. Anleitung
Variablen
1
einen Datentyp angeben , wenn Sie eine Variable deklarieren , weil unbestimmte Variablen eine Variante Typ zugeordnet sind, und diese Art verwendet mehr Speicher als die anderen Arten .
< Br > 2
Nutzen Sie einen Datentyp Währung über die Floating-Point- Datentyp , wenn möglich. Es bietet praktisch die gleiche Funktionalität wie die letztere , aber es kann schneller bearbeitet werden.
3
Profitieren Sie von Object-Variablen , wenn Sie auf ein Objekt mehr als einmal lesen müssen innerhalb eines Moduls , wie es speichert das Objekt Variable im Speicher und verhindert somit von VBA mit, um es nachschlagen jede einzelne Zeit.
4
Shop Array-Elemente in temporäre Variablen , bevor Sie sie durch eine Schleife , da es viel langsamer ist rufen sie über ein Array.
5
Declare leer Variablen über " vbNullString " anstelle von Anführungszeichen . Da " vbNullString " ist eine Funktion anstelle eines Strings , kann es daher etwas schneller verarbeitet werden.
Sonstiges
6
Reduzieren Verkettung Operationen , wenn möglich, indem Sie die " ; Mitte " -Funktion statt . Denken Sie daran , dass der Ersatz -Zeichenfolge muss die gleiche Länge wie die substring Sie ersetzen wollen .
7
Durchlaufen einer Sammlung mit dem " für jeden "-Anweisung statt durch Verwendung eines Index . Zum Beispiel ist es besser, geben Sie " für jede Variable als VARIABLE_SUB " , als es zu geben ist " für i = 1 bis VARIABLE.count . "
8
Führen Ganzzahldivision mit dem " ; \\ " Ganzzahldivision Betreiber , weil der Standard " /" Gleitkommadivisionsschaltung Betreiber rechnet immer einen doppelten Wert vom Typ
9
Convert String Zeichen in ANSI- Werte beim Vergleich von String-Variablen . . Zum Beispiel bedeutet der Ausdruck " wenn asc ( strText ) = 32 dann " Prozesse schneller als der Ausdruck " wenn sie ( strText , 1 ) =" "' .