Я написал сценарий VBA для обновления соединений во всех сводных таблицах до нового существующего соединения в моей книге.Это работало нормально, но я попытался использовать сценарий снова, и я получил объектную или прикладную ошибку.
Script
Private Function changeDataSource()
Dim wrkbk As Workbook
Dim sheet As Worksheet
Dim pTable As pivotTable
Set wrkbk = Workbooks(workBookName)
For Each sheet In wrkbk.Worksheets
Debug.Print "Sheet Name: " & sheet.Name
For Each pTable In sheet.PivotTables
Debug.Print "Pivot table: " & pTable.Name
pTable.ChangeConnection wrkbk.Connections("ConnectionName")
Next pTable
Debug.Print "-----------------------------------"
Next sheet
End Function
PS.Соединение с другим файлом Excel, созданным с помощью MS-запроса.
Также обратите внимание, что это в Excel 2010 с использованием Windows 7.