【问题标题】:Declaring & Calling The Sleep API声明和调用 Sleep API
【发布时间】:2014-04-15 01:53:14
【问题描述】:

我已经阅读了许多关于实现 Sleep API 的主题,但大多数主题都比我在知识方面领先一步,我们将不胜感激。

我在 VBA 中有一个宏,我想在步骤之间添加暂停(纯粹是美学而非功能性),但是我在基本的声明和调用方面遇到了困难。

我知道首先我必须声明 api 并且代码是...

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

但是,我对这应该去哪里感到困惑。它应该放在它自己的模块中还是可以在宏模块的顶部说明?

然后调用函数我只是在...的宏中添加一行

Call Sleep (1000)

如果有人可以帮助解决这个问题,我将不胜感激,并感谢您对我的基本掌握的耐心。

【问题讨论】:

    标签: ms-access vba ms-access-2010


    【解决方案1】:

    Sleep 的声明应该放在模块的顶部。标准编码模块。

    你可以省略Call,直接使用

    Sleep 1000  ' 1 second delay
    

    在现有子目录中的任何地方,所以

    Option Explicit
    
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    
    Sub Main()
    
        ' wait 3 seconds
        Sleep 3000
    
    End Sub
    


    不声明睡眠子的替代方法是

    Application.Wait Now + TimeValue("00:00:03") ' waits 3 seconds
    

    【讨论】:

    • 我从未在 MS Access 中使用睡眠。我想知道 OP 是否使用了一种奇怪的方法?
    • 不确定,但问题非常具体,OP 声称他想使用Sleep
    • 感谢您的快速回复。花了一点摆弄,但我把它弄进去了。虽然这为我发现了另一个挑战,但我认为如果我正确理解这个论坛,这需要一个单独的问题,所以将单独发布。真的很感谢支持。干杯
    • @spcurtis81 是很好的思维方式,但它不是一个论坛,而是一个问答网站 :) 如果您对给出的答案感到满意,您可以用绿色复选标记接受它们,这就像标记您的原件一样问题已解决。
    • @mehow 啊哈。想知道我是如何将该答案标记为正确的。哦,当你找到它时,它是如此简单。必须说考虑到我的新手理解,在这样一个知识渊博的社区中提问时我有点紧张,因此非常感谢您的回应和理解。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-05
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多