Optimaliser VBA ytelse i Microsoft Word ved å gjøre deg kjent med hvor mye minne ulike datatyper, operatører og funksjoner bruke. For eksempel er " heltall " variabler automatisk konvertert til "lange" variabler , noe som betyr at det ville være klokere når det er mulig å bare erklære "lange" variabler i stedet for " heltall " variabler . Lignende triks finnes for mange andre VBA komponenter. Instruksjoner
Variabler
en
Angi en datatype når du deklarerer en variabel , fordi uspesifiserte variabler er tildelt en variant type, og denne typen bruker mer minne enn de andre typene.
2
Bruk en valuta datatype over flyttall datatype når det er mulig . Det tilbyr praktisk talt den samme funksjonaliteten som sistnevnte , men det kan bli behandlet raskere .
3
Dra nytte av objekt variabler hvis du må referere til et objekt mer enn en gang i løpet av en modul , som den lagrer objektet variabel i minnet og dermed hindrer VBA fra å måtte slå det opp hver eneste gang .
4
sexy array elementer i midlertidige variabler før du kjører dem gjennom en loop, som det er mye tregere å hente dem gjennom en matrise.
5
Erklærer tomme variabler ved å bruke " vbNullString " i stedet for anførselstegn . Siden " vbNullString " er en funksjon i stedet for en streng, kan det derfor bli behandlet litt raskere .
Diverse
6
Reduser avkortingsoperatorer operasjoner når det er mulig ved å bruke " ; mid "-funksjonen i stedet. Husk at utskifting streng må være samme lengde som delstrengen du har tenkt å erstatte.
7
Loop gjennom en samling med " for hver " statement heller enn ved å bruke en indeks . For eksempel er det bedre å skrive " for hver variabel som VARIABLE_SUB " enn det er å skrive " for i = 1 til VARIABLE.count . "
8
Utfør heltallsdivisjon med " ; \\ " heltallsdivisjon operatør fordi standarden " /" flyttall divisjon operatør alltid beregner en dobbel type verdi
9
Konverter strengtegn til ANSI verdier når man sammenligner strengvariabler . . For eksempel uttrykket " hvis stigende ( strText ) = 32 da " behandler raskere enn uttrykket "hvis venstre ( strText , 1 ) =" " ' .