检查excel vba中是否存在DSN

时间:2016-09-10 12:16:59

标签: mysql excel-vba vba excel

我有一个连接到MySQL服务器的excel工作簿。我放置了一个刷新数据的刷新按钮,它保存了表单的unprotect和protect语句。

我的问题是当打开excel文件并单击不在网络中的计算机中的刷新时,我得到一个DSN创建向导,如果我在向导中按下取消,表单将变得不受保护。

我想放置一个IF条件来检查DSN是否可用,如果不是,它应该退出sub。

有什么想法吗?

这是我的错误处理程序的代码,但我仍然得到DSN创建向导,并且在msgbox关闭后,工作表不受保护

On Error GoTo handler
Application.ScreenUpdating = False
Sheets("DEC-2015").Unprotect Password:="password"
ActiveWorkbook.Connections("Query from Sample").Refresh
Sheets("DEC-2015").Protect _
Password:="password", _
UserInterfaceOnly:=True, _
AllowFiltering:=True, _
AllowSorting:=True, _
AllowUsingPivotTables:=True
handler:
MsgBox "Server Connection Lost...", vbOKOnly + vbCritical, "Warning"
Exit Sub

1 个答案:

答案 0 :(得分:0)

通过将代码更改为以下内容来关闭警报:

, then select the