Excel中VB编程如何实现延时等待?

首先,这是Excel中的VB编程现有如下命令:A=Msgbox("要终止此程序么?",4)当点击"确定"时终止,点击"否"则程序继续运行我现在想让程序等待1分钟后,若未点... 首先,这是Excel中的VB编程
现有如下命令:
A=Msgbox("要终止此程序么?",4)
当点击"确定"时终止,点击"否"则程序继续运行
我现在想让程序等待1分钟后,若未点击任何按钮则自动终止程序
这样的命令应怎样写呢?
假设延时的参数过程已经写好了:TimeLater(Sec1 as long ) '参数Sec1表示等待的秒数
多谢了
展开
 我来答
环业软件
2012-04-01 · TA获得超过1276个赞
知道小有建树答主
回答量:865
采纳率:100%
帮助的人:592万
展开全部
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
jianghe706
2012-04-01 · TA获得超过5145个赞
知道大有可为答主
回答量:2213
采纳率:77%
帮助的人:814万
展开全部
只要把下面的一段插入你的程序中就可以了:
T1 = Timer + 60#
Do While T1 > Timer
DoEvents
Loop
如果你不想延时那么长,把上面的60#改为你想要延时的秒数就好了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式