2015-09-07 80 views
2

我試圖循環遍歷Excel工作簿中的每個連接,並單獨刷新每個連接並捕獲每次刷新之間的任何錯誤消息。不過,我收到試圖運行代碼時,一個「類型不匹配」的錯誤:刷新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 

可能有人請幫助我?

回答

4
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是一種類型,即ActiveWorkbook是什麼類型。 ActiveWorkbook是一個對象,您可以操作的實際事物。

+0

這是我以前的。但是,我收到了「Object Required」錯誤;如果我刪除了你建議的行,仍然這樣做。 – Sean

+0

刷新完美,謝謝!但是,是否有方法可以捕獲每個連接上可能發生的任何錯誤? – Sean

+2

是的:錯誤goto'聲明。爲了未來的讀者,請您接受這個答案,並提出另一個問題,詳細說明一旦您發現錯誤後您想要做什麼?與往常一樣,如果您先嚐試一下並顯示您嘗試過的代碼,您會在這裏得到更好的答案:)。在這裏發佈一個鏈接到其他問題,我會看到它。 – cxw