Streszczenie
Program Word nie ma wbudowanej metody, aby opóźnić wykonanie makra, ale rozwiązania problemu może służyć do osiągnięcia efektu.
Więcej informacji
Firma Microsoft podaje przykłady programowania wyłącznie, bez jakichkolwiek gwarancji wyrażonych wprost lub domyślnie. To obejmuje, ale nie jest ograniczona, ustawowej rękojmi co do przydatności handlowej lub przydatności do określonego celu. W tym artykule założono, że użytkownik zna demonstrowany język programowania oraz narzędzia, które są używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu, jak działa określona procedura, ale nie będą modyfikować tych przykładów ani dodawać funkcjonalności i konstruować procedur w celu zaspokojenia określonych potrzeb użytkownika.
Aby uzyskać więcej informacji dotyczących sposobu użyć przykładowego kodu w tym artykule kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
212536 OFF2000: jak uruchamiać kod przykładowy z artykułów bazy wiedzy
Można użyć jednej z następujących metod, aby opóźnić wykonanie makra za pomocą języka Visual Basic for Applications.
Metoda 1: Użyj puste dla... Next pętli
Wadą tej metody jest, że nie istnieje bezpośredni sposób aby określić dokładną ilość czas potrzebny program do uruchamiania w pętli. Czas zależy od szybkości komputera. Poniższy kod jest uruchamiany pętli który nie działają, ale zająć trochę czasu.
Sub MyDelayMacro
For iCount = 1 to 1000
Next iCount
End Sub
Metoda 2: Użyj wywołania interfejsu API wstrzymania wykonania programu Word
Użyj wywołania interfejsu API wstrzymania wykonania programu Word na stałe ilość czasu.
Kernel32 zawiera funkcję, która wstrzymuje wykonanie tego programu na określoną ilość czasu, określony w milisekundach. Aby można było użyć funkcji to najpierw zadeklarować w sekcji deklaracji ogólnych danych modułu, w którym będą używane:
Declare Sub Sleep Lib "kernel32" Alias "Sleep" _
(ByVal dwMilliseconds As Long)
W wywołaniu funkcji uśpienia , należy użyć następującej składni:
Sub Sleep()
Sleep 1000 'Implements a 1 second delay
End Sub
Metoda 3: Metoda OnTime
Metoda OnTime pozwala ustawić wielkość przerwy. Metoda OnTime używa następującej składni:
wyrażenie. OnTime (kiedy, nazwa, tolerancji)Ponieważ argument Nazwa wymaga nazwy makra uruchamianego, należy utworzyć dwa makra: pierwsze makro zawiera wywołanie metody OnTime oraz innych poleceń, które są istotne dla makra, a drugiego makra do uruchomienia po upływie wyznaczonego czasu. Drugiego makra mogą być "ślepe" makra, które nie działają.
W tym przykładzie uruchamia makro o nazwie "MyDelayMacro" 15 sekund od momentu, gdy na przykład jest uruchamiany.
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
Aby uzyskać więcej informacji na temat korzystania z metody OnTime, w Edytorze Visual Basic kliknij polecenie Microsoft Visual Basic-Pomoc w menu Pomoc , wpisz metodę OnTime w Asystencie pakietu Office lub Kreatorze odpowiedzi, a następnie kliknij wyszukiwania , aby wyświetlić temat.
Powiązane artykuły
Aby uzyskać dodatkowe informacje dotyczące uzyskiwania pomocy programu Visual Basic for Applications kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
212623 WD2000: zasoby programowania makra
226118 OFF2000: programowania zasobów dla języka Visual Basic for Applications