1

У меня есть небольшой файл Excel с VBA. Мы используем планировщик задач в 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?

0