Wie zur Verbesserung der Leistung von VBA in Word

May 7

Optimieren Sie VBA Leistung in Microsoft Word, indem sich mit wieviel verschiedene Speicherdaten Typen, Operatoren und Funktionen Gebrauch vertraut zu machen. Variablen "vom Typ Integer" werden beispielsweise automatisch konvertiert, auf "lange" Variablen, was bedeutet, dass es wäre klüger, wenn möglich, nur "lange" Variablen statt "Ganzzahl" Variablen zu deklarieren. Ähnliche Tricks gibt es für viele andere VBA-Komponenten.

Anweisungen

Variablen

1 Geben Sie einen Datentyp an, wenn Sie eine Variable deklarieren, da keine Angabe Variablen werden einen Varianten-Typ zugewiesen, und diesen Typ mehr Speicher als die anderen Arten verwendet.

2 Nutzen Sie einen Währungsdatentyp über die Gleitkomma-Datentyp soweit wie möglich. Es bietet nahezu die gleiche Funktionalität wie die letztere, aber es kann schneller bearbeitet werden.

3 Nutzen Sie Object-Variablen, wenn Sie auf ein Objekt mehr als einmal innerhalb eines Moduls verweisen müssen, da sie die Objektvariable im Speicher ablegt und somit verhindert, VBA dass, es jedes Mal nachschlagen.

4 Speichern Sie Arrayelemente in temporäre Variablen vor ihnen durch eine Schleife laufen, als es viel langsamer durch ein Array abrufen.

5 Deklarieren Sie leere Variablen, indem "VbNullString" anstelle von Anführungszeichen. Da "VbNullString" eine Funktion anstelle einer Zeichenfolge ist, kann es daher etwas schneller verarbeitet werden.

Verschiedenes

6 Verringern Sie die Verkettung wenn möglich mithilfe der Funktion "Mitte". Denken Sie daran, die die Ersatzzeichenfolge die gleiche Länge wie die Teilzeichenfolge sein müssen, die Sie ersetzen möchten.

7 Durchlaufen einer Auflistung mit der Anweisung "for each" und nicht unter Verwendung eines Indexes. Beispielsweise ist es besser, "für jede VARIABLE als VARIABLE_SUB" zu geben, als es ist, geben Sie "für i = 1 bis VARIABLE.count."

8 Durchführen Sie Ganzzahldivision mit "\" Ganzzahl-Divisionsoperator, weil der standard "/" mit doppelter Divisionsoperator immer einen double-Typ-Wert berechnet.

9 Konvertieren Sie Zeichenfolge Zeichen in ANSI-Werte, beim Vergleichen von String-Variablen. Beispielsweise der Ausdruck "Wenn asc(strText) = 32 dann" schneller als der Ausdruck verarbeitet ' wenn left (StrText, 1) = "" '.