Excel中VB编程如何实现延时等待?
首先,这是Excel中的VB编程现有如下命令:A=Msgbox("要终止此程序么?",4)当点击"确定"时终止,点击"否"则程序继续运行我现在想让程序等待1分钟后,若未点...
首先,这是Excel中的VB编程
现有如下命令:
A=Msgbox("要终止此程序么?",4)
当点击"确定"时终止,点击"否"则程序继续运行
我现在想让程序等待1分钟后,若未点击任何按钮则自动终止程序
这样的命令应怎样写呢?
假设延时的参数过程已经写好了:TimeLater(Sec1 as long ) '参数Sec1表示等待的秒数
多谢了 展开
现有如下命令:
A=Msgbox("要终止此程序么?",4)
当点击"确定"时终止,点击"否"则程序继续运行
我现在想让程序等待1分钟后,若未点击任何按钮则自动终止程序
这样的命令应怎样写呢?
假设延时的参数过程已经写好了:TimeLater(Sec1 as long ) '参数Sec1表示等待的秒数
多谢了 展开
2个回答
展开全部
MsgBoxEx函数能满足你的要求,把Debug.Print 改成你想执行的语句即可
wType参数改成可以提示输入VBA的vbMsgboxStyle常数。
这个API函数的参数如下:
hwnd:窗口句柄,可以设为0
lpText:消息框显示内容,类似于MsgBox函数的第一个参数Prompt
lpCaption:消息框标题,类似于MsgBox函数的第三个参数Caption
wType:消息框类型,类似于MsgBox函数的第二个参数Buttons
wlange:不是太明白这个参数,0或者1都看不出什么差别
dwTimeout:延时时间,单位是毫秒
返回的值和vbMsgBoxResult常数一样,多了一个返回值32000表示超过延时时间未选择任何按钮。
Private Declare Function MsgBoxEx Lib "user32" Alias "MessageBoxTimeoutA" ( _
ByVal hwnd As Long, _
ByVal lpText As String, _
ByVal lpCaption As String, _
ByVal wType As VbMsgBoxStyle, _
ByVal wlange As Long, _
ByVal dwTimeout As Long) As Long‘函数声明
Private Sub TestMsgboxEx()’使用
Dim ret As Long
ret = MsgBoxEx(0, "要终止此程序么", "60秒后自动关闭", vbYesNo + vbInformation, 1, 60000)
If ret = 32000 Or ret = vbYes Then End
End Sub
wType参数改成可以提示输入VBA的vbMsgboxStyle常数。
这个API函数的参数如下:
hwnd:窗口句柄,可以设为0
lpText:消息框显示内容,类似于MsgBox函数的第一个参数Prompt
lpCaption:消息框标题,类似于MsgBox函数的第三个参数Caption
wType:消息框类型,类似于MsgBox函数的第二个参数Buttons
wlange:不是太明白这个参数,0或者1都看不出什么差别
dwTimeout:延时时间,单位是毫秒
返回的值和vbMsgBoxResult常数一样,多了一个返回值32000表示超过延时时间未选择任何按钮。
Private Declare Function MsgBoxEx Lib "user32" Alias "MessageBoxTimeoutA" ( _
ByVal hwnd As Long, _
ByVal lpText As String, _
ByVal lpCaption As String, _
ByVal wType As VbMsgBoxStyle, _
ByVal wlange As Long, _
ByVal dwTimeout As Long) As Long‘函数声明
Private Sub TestMsgboxEx()’使用
Dim ret As Long
ret = MsgBoxEx(0, "要终止此程序么", "60秒后自动关闭", vbYesNo + vbInformation, 1, 60000)
If ret = 32000 Or ret = vbYes Then End
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询