使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

概要

Word 没有内置方法延迟执行的宏,但解决方法可用于实现此效果。

详细信息

Microsoft 提供的编程示例仅用于说明,没有任何明示或暗示的担保。这包括但不限于适销性或特定用途适用性的暗示担保。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能,但是他们不会修改这些示例以提供额外的功能或构建过程以满足您的特定要求。
有关如何使用本文中示例代码的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

212536 OFF2000: 如何运行知识库文章中的示例代码
可以使用以下方法之一来使用 Visual Basic for Applications 延迟执行的宏。


方法 1: 使用一个空的...Next 循环语句

对此方法的一个缺点是时间的没有直接的方法来确定精确的程序运行循环所花费量。一段时间取决于计算机的速度。下面的代码运行循环,不执行任何操作,但需要花一些时间。

Sub MyDelayMacro

For iCount = 1 to 1000
Next iCount

End Sub

方法 2: 使用 API 调用 Word 执行挂起

使用 API 调用挂起的单词的固定量的时间执行。

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 (何时、 名称、 容差)因为Name参数所需的要运行的宏的名称,则必须创建两个宏: 包含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 帮助,在 Office 助手或应答向导中,键入OnTime 方法,然后单击搜索以查看该主题。

参考资料

有关获取帮助 Visual Basic for Applications 的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

212623 WD2000: 宏编程资源

226118 OFF2000: Visual Basic for Applications 的编程资源

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×