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에서 작동하려면 변경해야 할 사항이 있습니까?

관련 정보