Optimiser les performances VBA dans Microsoft Word en vous familiarisant avec la quantité de mémoire différents types de données , opérateurs et fonctions utilisent . Par exemple , les variables "integer" sont automatiquement converties en variables «longs» , ce qui signifie qu'il serait plus sage si possible de simplement déclarer des variables "longs" au lieu de variables "integer" . Des astuces similaires existent pour de nombreux autres composants VBA. Instructions
Variables
1
spécifier un type de données chaque fois que vous déclarez une variable , car les variables non spécifiés sont assignés à un type de variante, et ce type utilise plus de mémoire que les autres types .
< Br > 2
utiliser un type de données de devise sur le type de données à virgule flottante chaque fois que possible. Il offre pratiquement les mêmes fonctionnalités que celui-ci , mais elle peut être traitée plus rapidement .
3
Profitez des variables d'objets si vous devez vous référer à un objet plus d'une fois dans un module, comme il stocke la variable d' objet en mémoire et empêche ainsi VBA d'avoir à regarder vers le haut à chaque fois.
4
Boutique éléments du tableau dans des variables temporaires avant de les exécuter dans une boucle , car il est beaucoup plus lent à les récupérer grâce à un tableau.
5
déclarer des variables vides en utilisant " vbNullString " au lieu de guillemets. Depuis " vbNullString » est une fonction plutôt qu'une chaîne , il peut donc être traitée légèrement plus rapide.
Divers
6
réduire les opérations de concaténation lorsque cela est possible en utilisant le " ; mi fonction " à la place. Gardez à l'esprit que la chaîne de remplacement doit être la même longueur que la chaîne que vous souhaitez remplacer .
7
boucle à travers une collection avec le " pour chaque " déclaration plutôt qu'en utilisant un index. Par exemple, il est préférable de taper " pour chaque variable comme VARIABLE_SUB " que de taper " pour i = 1 à VARIABLE.count . "
8
Effectuer la division entière avec le " , \\ " opérateur de division entière parce que la norme " /opérateur " division à virgule flottante calcule toujours une valeur de type double
9
convertir les chaînes de caractères des valeurs ANSI lorsque l'on compare les variables de chaîne . . Par exemple, l'expression « si asc ( strText ) = 32 , puis" traite plus rapide que l'expression « si gauche ( strText , 1) =" "' .
< Br >