Samenvatting
Word heeft geen ingebouwde methode om de uitvoering van een macro uit te stellen, maar tijdelijke oplossingen kunnen worden gebruikt om dit effect te bereiken.
Meer informatie
Microsoft verstrekt programmeervoorbeelden uitsluitend ter illustratie, zonder expliciete of impliciete garantie. Dit omvat, maar is niet beperkt tot, de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend met de programmeertaal die wordt aangetoond en met de hulpprogramma's die worden gebruikt bent voor het maken van en naar procedures voor foutopsporing. Ondersteuningstechnici van Microsoft kunnen voor uitleg over de functionaliteit van een bepaalde procedure, maar zij zullen deze voorbeelden bieden extra functionaliteit of desgewenst uw specifieke vereisten niet wijzigen.
Voor meer informatie over het gebruik van de voorbeeldcode in dit artikel, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:
212536 Office 2000: voorbeeldcode uit Knowledge Base-artikelen uitvoeren
U kunt een van de volgende methoden om uitvoering van een macro in Visual Basic for Applications.
Methode 1: Gebruik een leeg voor... Next-lus
Een nadeel van deze methode is dat er geen rechtstreekse manier om te bepalen van het exacte bedrag van de tijd die het programma nodig heeft voor het uitvoeren van de lus. De hoeveelheid tijd is afhankelijk van de snelheid van uw computer. De volgende code wordt een lus die doet niets, maar enige tijd in beslag nemen.
Sub MyDelayMacro
For iCount = 1 to 1000
Next iCount
End Sub
Methode 2: Gebruik een API-aanroep Word uitgesteld
Een API-aanroep gebruiken tot schorsing van de uitvoering van Word voor een vaste hoeveelheid tijd.
De Kernel32 bevat een functie waarmee de uitvoering van een programma voor een bepaalde hoeveelheid tijd, uitgedrukt in milliseconden wordt onderbroken. Voor u de functie wilt gebruiken, moet deze eerst worden gedeclareerd in de sectie algemene declaraties van de module waarin ze worden gebruikt:
Declare Sub Sleep Lib "kernel32" Alias "Sleep" _
(ByVal dwMilliseconds As Long)
Gebruik de volgende syntaxis om de functie slaapstand :
Sub Sleep()
Sleep 1000 'Implements a 1 second delay
End Sub
Methode 3: Gebruik de methode OnTime
Gebruik de methode OnTime om een hoeveelheid tijd in te stellen. De methode OnTime gebruikt de volgende syntaxis:
expressie. OnTime (wanneer, naam, tolerantie)Het argument Name is de naam van een macro uit te voeren, moet u twee macro's maken: de eerste macro in de aanroep van de methode OnTime en andere opdrachten die relevant zijn voor uw macro bevat en de tweede macro uit te voeren wanneer de toegewezen tijd is verstreken. De tweede macro is een macro 'dummy', er niets gebeurt.
In dit voorbeeld wordt de macro met de naam 'MyDelayMacro' 15 seconden na het die voorbeeld uitgevoerd.
Sub MyMainMacro()
' Pause for 15 seconds.
Application.OnTime When:=Now + TimeValue("00:00:15"), _
Name:="MyDelayMacro"
End Sub
Public Sub MyDelayMacro()
' Place your delayed macro commands here.
MsgBox "This macro runs after 15 seconds."
End Sub
Voor meer informatie over het gebruik van de methode OnTime in de Visual Basic Editor klikt u in het menu Help op Microsoft Visual Basic Help , typt u de methode OnTime in de Office-assistent of de Antwoordwizard en klikt u op Zoeken om te bekijken het onderwerp.
Referenties
Voor meer informatie over het opvragen van help voor Visual Basic for Applications, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:
212623 Word 2000: Macro programmeren Resources
226118 Office 2000: Programming Resources for Visual Basic for Applications