Come migliorare le prestazioni VBA in Word

April 14

Ottimizzare le prestazioni VBA in Microsoft Word per familiarizzare con la quantità di memoria diversi tipi di dati, gli operatori e le funzioni di uso. Ad esempio, le variabili "integer" vengono automaticamente convertiti in variabili "lunghe", il che significa che sarebbe più saggio quando possibile dichiarare solo variabili "lunghi" invece di variabili "interi". Esistono trucchi simili per molti altri componenti VBA.

istruzione

variabili

1 Specificare un tipo di dati ogni volta che si dichiara una variabile, perché le variabili non specificati viene assegnato un tipo di variante, e questo tipo utilizza più memoria rispetto agli altri tipi.

2 Utilizzare un tipo di dati di valuta sopra il tipo di dati a virgola mobile quando possibile. Offre praticamente la stessa funzionalità quest'ultima, ma può essere elaborato più velocemente.

3 Approfitta delle variabili oggetto se si deve fare riferimento a un oggetto più di una volta all'interno di un modulo, in quanto memorizza la variabile oggetto in memoria e impedisce quindi VBA di dover guardare in su ogni singola volta.

4 elementi dell'array Conservare in variabili temporanee prima di eseguirli attraverso un ciclo, in quanto è molto più lento per recuperare loro attraverso una matrice.

5 Dichiarare variabili vuote utilizzando "vbNullString" invece di virgolette doppie. Poiché "vbNullString" è una funzione invece di una stringa, si può quindi elaborato leggermente più veloce.

miscellaneo

6 Ridurre le operazioni di concatenazione quando possibile utilizzando la funzione "metà", invece. Tenete a mente che la stringa di sostituzione deve essere la stessa lunghezza della stringa che si intende sostituire.

7 Loop attraverso una collezione con il "per ogni" dichiarazione piuttosto che utilizzando un indice. Per esempio, è meglio scrivere "per ciascuna variabile come VARIABLE_SUB" che è di tipo "per i = 1 a VARIABLE.count."

8 Eseguire la divisione intera con l'operatore "\" divisione intera perché il "/" operatore di divisione in virgola mobile di serie calcola sempre un valore doppio tipo.

9 Convertire caratteri della stringa di valori ANSI quando si confrontano le variabili stringa. Per esempio, l'espressione "se asc (strText) = 32 quindi" i processi più velocemente di quanto l'espressione 'se lasciato (strText, 1) = ""'.