Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Обзор

Word не имеет встроенного метода для задержки выполнения макроса, но можно использовать методы обхода для достижения этого эффекта.

Дополнительные сведения

Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации и без явных или подразумеваемых гарантий. Это включает, но не ограничиваясь, подразумеваемые гарантии товарной пригодности или пригодности для определенной цели. В данной статье предполагается, что вы знакомы с демонстрируемым языком программирования и средствами, которые используются для создания и отладки. Сотрудники службы поддержки Майкрософт могут объяснить возможности конкретной процедуры, но не выполнять модификации примеров для обеспечения дополнительных функциональных возможностей или создания процедур для определенных требований.
Дополнительные сведения о том, как использовать примеры кода в этой статье щелкните следующий номер статьи базы знаний Майкрософт:

212536 OFF2000: запуск кода примера из статей базы знаний
Можно использовать один из следующих методов для задержки выполнения макроса с помощью Visual Basic для приложений.


Метод 1: Используйте пустой для... Следующий цикл

Недостатком этого метода является прямой способ определить точное количество времени, программа использует для выполнения цикла. Время зависит от скорости компьютера. Следующий код выполняет цикл, ничего не делает, но занимает некоторое время.

Sub MyDelayMacro

For iCount = 1 to 1000
Next iCount

End Sub

Способ 2: Используйте вызов API для приостановки выполнения Word

С помощью вызова API для приостановки выполнения программы Word на определенный промежуток времени.

Kernel32 содержит функцию, которая приостанавливает выполнение программы для указанного количества времени, в миллисекундах. Для использования этой функции необходимо объявить в раздел общих объявлений модуля, в котором он будет использоваться:

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

Используйте следующий синтаксис для вызова функции спящего режима :

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

Способ 3: Использовать метод OnTime

Чтобы установить время для приостановки используйте метод OnTime . Метод OnTime использует следующий синтаксис:

выражение. OnTime (когда, название, отклонение)Поскольку аргумент имени требуется имя макроса, необходимо создать два макроса: первый макрос содержит вызов метода OnTime и другие команды, относящиеся к макроса и второго макроса для выполнения прошла за отведенное время. Второй макрос может быть «фиктивные» макрос, который не выполняет никаких действий.

В этом примере выполняется макрос с именем «MyDelayMacro» 15 секунд с момента выполнения примера.

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

Дополнительные сведения об использовании метода OnTime, в редакторе Visual Basic в меню Справка пункт Справка: Microsoft Visual Basic , метод OnTime введите в поле помощника Office или мастера ответов и нажмите кнопку Поиск для просмотра раздел.

Ссылки

Дополнительные сведения о получении справки по Visual Basic для приложений щелкните следующий номер статьи базы знаний Майкрософт:

212623 WD2000: макрос программные ресурсы

226118 OFF2000: программные ресурсы для Visual Basic для приложений

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×