Código VBA não atualiza consulta externa

Código VBA não atualiza consulta externa

Eu tenho um pequeno arquivo Excel com VBA. Usamos o agendador de tarefas do Windows para abrir este pequeno arquivo que então executa uma macro para abrir, atualizar e salvar vários relatórios que automatizamos. O arquivo funciona bem no Windows 2000 e Excel 2003, mas estamos convertendo para Windows 7 e Excel 2010. O agendador de tarefas abre o arquivo e o arquivo abre o relatório apropriado. Parece que ele é atualizado e, em seguida, exclui o relatório anterior e salva o novo relatório em um local específico. Mas quando abro o relatório atualizado, os dados da consulta externa não foram alterados. Posso executar o relatório manualmente clicando em Atualizar tudo e os dados são atualizados. Também não encontrei nenhum erro no VBA. Aqui está o código:

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

Há algo que preciso alterar para que funcione no Excel 2010?

informação relacionada