Optimera VBA prestanda i Microsoft Word genom att bekanta dig med hur mycket minne olika datatyper , operatorer och funktioner använder . Till exempel är " heltal " variabler automatiskt konverteras till "långa " variabler , vilket innebär att det skulle vara klokare när det är möjligt att bara deklarera "långa " variabler istället för " heltal " variabler . Liknande knep finns för många andra VBA -komponenter . Instruktioner
Variabler
1
Ange en datatyp när du deklarerar en variabel , eftersom ospecificerade variabler tilldelas en variant typ , och denna typ använder mer minne än de andra typerna .
2
Utnyttja en valuta datatyp över flyttal datatyp när det är möjligt . Det finns praktiskt taget samma funktioner som den senare , men det kan behandlas snabbare .
3
Utnyttja objekt variabler om du måste referera till ett objekt mer än en gång inom en modul , som den lagrar objektet variabeln i minnet och därmed förhindrar VBA från att behöva leta upp varenda gång .
4
Store arrayelementen i temporära variabler innan du kör dem genom en slinga , eftersom det är mycket långsammare att hämta dem via en matris .
5
Deklarera tomma variabler med hjälp av " vbNullString " istället för dubbla citattecken . Eftersom " vbNullString " är en funktion i stället för en sträng , kan man därför behandlas något snabbare . Minska sammanlänkningsinformationema verksamhet när så är möjligt genom att använda " Addera Diverse
6
, mid " funktionen istället . Tänk på att ersättningssträngen måste vara samma längd som delsträngen du tänker ersätta .
7
Loop genom en samling med " för varje " uttalande snarare än genom att använda ett index . Till exempel , är det bättre att skriva " för varje variabel som VARIABLE_SUB " än det är att skriva " för i = 1 till VARIABLE.count . "
8
Utför heltalsdivision med " , \\ " heltalsdivision operatör eftersom standarden " /" floating -point division operatör alltid beräknar en dubbel typ värde
9
Konvertera sträng tecken ANSI värden vid jämförelse strängvariabler . . Till exempel uttrycket " om ASC ( strText ) = 32 då " bearbetar snabbare än uttrycket "om vänster ( strText , 1 ) = " " ' .