Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Sammanfattning

Har inte en inbyggd metod för att fördröja körningen av ett makro i Word, men lösningarna kan användas för att uppnå den här effekten.

Mer Information

Microsoft tillhandahåller programmeringsexempel endast utan garanti varken uttryckliga eller underförstådda. Detta inkluderar men är inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Den här artikeln förutsätter att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till med att förklara funktionen hos en viss procedur, men kan inte ändra dessa exempel för att ge ytterligare funktioner eller skapa procedurer som motsvarar dina speciella behov.
Mer information om hur du använder exempelkoden i den här artikeln klickar du på artikelnumret nedan och läser artikeln i Microsoft Knowledge Base:

212536 OFF2000: hur du kör exempelkod från artiklar i Knowledge Base
Du kan använda någon av följande metoder för att fördröja körningen av ett makro i Visual Basic for Applications.


Metod 1: Använd en tom för... Nästa Loop

En nackdel med denna metod är att det finns inget direkt sätt att fastställa det exakta beloppet som programmet tar för att köra loopen. Hur lång tid beror på hastigheten på din dator. Följande kod körs en loop som ingenting men ta lite tid.

Sub MyDelayMacro

For iCount = 1 to 1000
Next iCount

End Sub

Metod 2: Använda ett API-anrop för att avbryta körningen av Word

Använda API-anrop för att avbryta körningen av Word för en fast tid.

Kernel32 innehåller en funktion som stoppar programkörningen för en tidsperiod som anges i millisekunder. Om du vill använda funktionen måste deklareras det först i det allmänna deklarationsavsnittet i modulen där den ska användas:

   Declare Sub Sleep Lib "kernel32" Alias "Sleep" _
(ByVal dwMilliseconds As Long)

Använd följande syntax för att anropa funktionen viloläge :

Sub Sleep()
Sleep 1000 'Implements a 1 second delay
End Sub

Metod 3: Använd OnTime-metoden

Använd metoden OnTime för att ange en viss tid för att pausa. OnTime -metoden använder du följande syntax:

uttryck. OnTime (när, namn, tolerans)Eftersom argumentet namn kräver namnet på ett makro som ska köras, måste du skapa två makron: det första makrot ska innehålla metodanropet OnTime och andra kommandon som är relevanta för ditt makro och det andra makrot ska köras när den tilldelade tiden har passerat. Det andra makrot kan vara ett ”dummy” makro som händer ingenting.

I det här exemplet körs makrot med namnet ”MyDelayMacro” 15 sekunder från det att exemplet körs.

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

Mer information om hur du använder metoden OnTime i Visual Basic Editor klickar du på Hjälp om Microsoft Visual Basic på Hjälp -menyn, Skriv OnTime metod i Office-assistenten eller Svarsguiden och klicka på Sök i avsnittet.

Referenser

Mer information om hur du får hjälp med Visual Basic for Applications klickar du på artikelnumret nedan och läser artikeln i Microsoft Knowledge Base:

212623 WD2000: programmeringsresurser för makro

226118 OFF2000: programmeringsresurser för Visual Basic for Applications

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×