Excel VBA从MySQL刷新

Excel VBA从MySQL刷新,vba,excel,Vba,Excel,我有这段代码来刷新我从excel到MySQL的连接,我这样做是因为当有人试图在不在网络中的PC上刷新时,它会抛出一条消息说服务器连接丢失 它只执行刷新部分,但当我在未连接到网络的PC中使用excel文件时,它不会显示我的自定义消息 Sub refreshall() Dim answer As Integer Dim wSheet As Worksheet On Error GoTo Handler answer = MsgBox("Refresh All Sheets At Once?",

我有这段代码来刷新我从excel到MySQL的连接,我这样做是因为当有人试图在不在网络中的PC上刷新时,它会抛出一条消息说服务器连接丢失

它只执行刷新部分,但当我在未连接到网络的PC中使用excel文件时,它不会显示我的自定义消息

Sub refreshall()

Dim answer As Integer
Dim wSheet As Worksheet
On Error GoTo Handler

answer = MsgBox("Refresh All Sheets At Once?", vbYesNo + vbQuestion, "Refresh All")

If answer = vbYes Then

Application.DisplayAlerts = False
Application.ScreenUpdating = False

For Each wSheet In Worksheets
wSheet.Unprotect Password:="Secret"
Next wSheet

ActiveWorkbook.refreshall

For Each wSheet In Worksheets
wSheet.Protect Password:="123", UserInterfaceOnly:=True, _
AllowFiltering:=True, _
AllowSorting:=True, _
AllowUsingPivotTables:=True
Next wSheet

Application.DisplayAlerts = True
Application.ScreenUpdating = True
Exit Sub

Else
Exit Sub
End If
Exit Sub

Handler:
For Each wSheet In Worksheets
wSheet.Protect Password:="123", UserInterfaceOnly:=True, _
AllowFiltering:=True, _
AllowSorting:=True, _
AllowUsingPivotTables:=True
Next wSheet
MsgBox "Server Connection Lost...", vbOKOnly + vbCritical, "Warning"
Exit Sub
End Sub

据我所知,当您的电脑连接到网络时,ActiveWorkbook.refreshall将抛出处理程序部分。
我猜Excel本身检测到没有网络,也没有在RefreshAllsub-soActiveWorkbook中执行自己的部分算法。在这种情况下,RefreshAll执行不会导致任何例外。

我怀疑没有抛出错误,处理程序代码从未执行过。您尝试过在调试中单步执行它吗?您是正确的,没有抛出错误:(…我现在很困惑ActiveWorkbook.refreshall将从MySQL刷新此查询。。