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 中运行?

相关内容