我有一个带有 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 中运行?