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