刷新Excel连接

我试图循环遍历Excel工作簿中的每个连接,并单独刷新每个连接,并捕获每次刷新之间的任何错误消息。 但是,尝试运行代码时收到“types不匹配”错误:

Private Sub btnRefreshConns_Click() Dim cn As WorkbookConnection Set cn = ActiveWorkbook.Connections.Count For Each cn In Workbook.Connections cn.Refresh Next End Sub 

有人可以帮助我吗?

 Private Sub btnRefreshConns_Click() Dim cn As WorkbookConnection 'Remove this line --> Set cn = ActiveWorkbook.Connections.Count For Each cn In ActiveWorkbook.Connections cn.Refresh Next End Sub 

应该这样做。 For Each ,你不需要跟踪计数。

(注意:撇号在VB中引入了注释,所以你可以尝试注释掉违规行,看看会发生什么。)

编辑 :循环需要参考ActiveWorkbookWorkbook是一种types,即ActiveWorkbook是什么types的东西。 ActiveWorkbook是一个对象,你可以操纵一个实际的东西。