Do Until GetData <> ""
    DoEvents    'GetData是通过winsock获得的返回值
    '现在希望在这里加入一段控制,30秒后如果GetData仍然为空,则令
    'GetData="0",然后跳出此循环
Loop请高手指点

解决方案 »

  1.   

    Do Until GetData <> ""
        DoEvents
       st=vba.timer
       do while vba.timer-st<30
        doevents
        loop
    loop
      

  2.   

    Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)Do Until GetData <> ""
        DoEvents
        Sleep(30000)
        if len(Getdata)=0 then GetData="0":Exit Loop
    Loop
      

  3.   

    dim a as string
    a=time
    Do Until GetData <> ""
        DoEvents
        if datediff("s",a,time)=30 then
            if len(getdata)=0 then
                getdata="0"
                exit do
            endif
        endif
    Loop