VBA程式碼不刷新外部查詢

VBA程式碼不刷新外部查詢

我有一個帶有 VBA 的小 Excel 文件。我們使用 Windows 中的任務規劃程式開啟這個小文件,然後執行巨集來開啟、刷新和保存我們自動化的各種報告。該文件在 Windows 2000 和 Excel 2003 中運作正常,但我們正在轉換到 Windows 7 和 Excel 2010。看起來它刷新了,然後刪除了先前的報告並將新報告儲存到特定位置。但是當我打開更新後的報告時,外部查詢的資料沒有改變。我可以透過點擊全部刷新來手動運行報告,並且資料確實會更新。而且我在 VBA 中沒有遇到任何錯誤。這是代碼:

Private Sub Workbook_Open()
    Dim wrkNewBook As Workbook
    Dim wrkOldBook As Workbook
    Dim iCount As Integer
    Dim sFileName As String
    Dim sReportName As String
    Dim iSheetCount As Integer
    Dim sWrapperName As String

    sWrapperName = ActiveWorkbook.Name

    sFileName = CStr(Application.Workbooks(sWrapperName).Sheets(1).Range("FileName").Value)
    iSheetCount = CLng("0" & Application.Workbooks(sWrapperName).Sheets(1).Range("NumberOfWorkSheets").Value)

    Set wrkOldBook = Application.Workbooks.Open(sFileName)
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    ActiveWorkbook.RefreshAll
    Application.Calculate

    If iSheetCount > wrkOldBook.Sheets.Count Then
        iSheetCount = wrkOldBook.Sheets.Count
    End If

    While (wrkOldBook.Sheets.Count > iSheetCount)
        wrkOldBook.Sheets(wrkOldBook.Sheets.Count).Delete
    Wend

    Application.ScreenUpdating = True
    Application.Calculate

    wrkOldBook.SaveAs "W:\SHAREU\Finance\POLR 500 Reports\" & wrkOldBook.Name
    wrkOldBook.SaveAs "E:\PUB\EEP\Finance\Cost Reports\" & wrkOldBook.Name
    wrkOldBook.Close False
    Application.DisplayAlerts = True

    Application.Quit
End Sub

我需要更改某些內容才能使其在 Excel 2010 中運行嗎?

相關內容