我有一个简单的代码段,用于检查是否存在互联网连接。如果失败,它会进入错误处理程序并打开一个包含一些文本和按钮的简单表单。
这是一个非常复杂的代码(不是我的),我对VBA很新。因此,只需要暂停此函数中代码的执行,并在按下其他表单中的按钮时恢复它。
可悲的是,互联网研究并不是很有用,我还不知道两个不同的代码部分如何相互作用。
这是我迄今为止的代码:
On Error GoTo NoConnnectionErrorHandler
Dim Request As New MSXML2.XMLHTTP60
Request.Open "GET", "http://www.bbc.com"
Request.send
'MsgBox Request.Status
NoConnnectionErrorHandler:
DoCmd.OpenForm "Frm_Global_NoConnectionDialog"
当没有连接到互联网时,表格会打开。但是我不知道如何在那里停止代码并在按下另一个表单时按下它。
它会定期检查整个功能(代码片段只是一小部分)。当没有连接时,它应该暂停整个程序,也就是没有更多的代码执行,直到按下按钮,然后再次检查连接,如果有,它应该继续。我希望我解释得很好。
我希望有人可以帮助这个VBA newb:)
EDIT1:答案已经解决了我遇到的问题,但有一件事让我感到困惑的是如何触发"恢复代码执行"通过按钮按下不同的形式。
答案 0 :(得分:1)
如果我理解正确,您应该在错误处理程序(Exit Sub
)上方使用NoConnectinoErrorHandler
。
添加一些代码以确保您的错误已得到解决,然后清除错误并恢复工作。
看看这是否是你要找的:
Sub foo()
' Your unseen code ...
On Error GoTo NoConnnectionErrorHandler
Dim Request As New MSXML2.XMLHTTP60
Request.Open "GET", "http://www.bbc.com"
Request.send
'MsgBox Request.Status
Exit Sub 'Put this above your error handler
NoConnnectionErrorHandler:
DoCmd.OpenForm "Frm_Global_NoConnectionDialog"
'Some code to ensure error no longer exists....
Err.Clear
Resume
End Sub