刷新 Excel 连接

Sea*_*ean 3 excel vba

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

Private Sub btnRefreshConns_Click()
Dim cn As WorkbookConnection
Set cn = ActiveWorkbook.Connections.Count

For Each cn In Workbook.Connections

cn.Refresh

Next

End Sub
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我吗?

cxw*_*cxw 5

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
Run Code Online (Sandbox Code Playgroud)

应该这样做。使用For Each,您无需跟踪计数。

(注意:撇号'在 VB 中引入注释,因此您可以尝试注释掉有问题的行,看看会发生什么。)

编辑:循环需要参考ActiveWorkbookWorkbook是一种类型,即事物是什么类型ActiveWorkbookActiveWorkbook是一个对象,一个你可以操纵的实际事物。

  • 是的:“on error goto”语句。为了未来的读者,请您接受这个答案,并提出另一个问题,详细说明您发现错误后想要做什么?与往常一样,如果您首先尝试并显示您尝试过的代码,您会在这里得到更好的答案:)。在这里发布另一个问题的链接,我会看到它。 (2认同)