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 で動作させるために何か変更する必要があるでしょうか?