看到前面的帖子说:“把Public   Declare   Sub   Sleep   Lib   "kernel32"   (ByVal   dwMilliseconds   As   Long)写入模块文件的通用声明就能用了。”   
我照做了,提示是“子程序或函数未定义”
是不是我少了什么东西,高手们来帮帮忙。。
先谢了。。

解决方案 »

  1.   

    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    去掉public应该可以,如果为了延时最好用下面方法
    Public Function Delay(Mins%, Secs%, Optional ByRef StopFlag) As Long
        Dim EndOfDelay
        EndOfDelay = DateAdd("s", Mins, Now)
        'EndOfDelay = DateAdd("s", Secs, EndOfDelay)
        Delay = 0
        Do While (Now < EndOfDelay)
            DoEvents
            If Not IsMissing(StopFlag) Then
                'If StopFlag Then
                '    Delay = 1
                '    StopFlag = False
                '    Exit Do
                'End If
            End If
        Loop
    End Function
    根据实际情况修改,我就是这么做的,很好用
      

  2.   

    Private Declare   Sub   Sleep   Lib   "kernel32"   (ByVal   dwMilliseconds   As   Long)Private Sub Button1_Click()
     MsgBox "1"
     Sleep 4000
     MsgBox 2
    End Sub
      

  3.   

    因为不是一个VB的内部函数,所以需要在使用前申明一下:Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)让VB知道这个函数是在哪里的.
    如果是只在本窗体中定义和使用可以用
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)如果是在模块中申明,并且所有窗体都可以使用:
    Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    使用的时候和VB内部函数一样:
    Sleep 1000  '程序停止1秒
    并且楼主要注意的是,象这样的API函数,都是需要有一个定义的语句的,你可以在VB自带的API浏览器中找到申明代码.