У меня есть макрос Excel, который берет существующий шаблон Powerpoint с объектами диаграммы и редактирует данные для каждой диаграммы с помощью данных из листа Excel. Коды перебирают по n строкам в листе, чтобы создать серию из 4 слайдов для каждой строки Excel.
Как ни странно, для некоторых строк один или несколько слайдов в наборе выдают ошибку «Excel прекратил работать», но данные, похоже, установлены правильно. Тем не менее, проблема заключается в случайной и несколько случайной ошибке «Powerpoint прекратил работать». Ошибка PowerPoint полностью вылетает из PowerPoint. И то и другое происходит, когда я добираюсь до отметки 50 слайдов или около того.
Вот код для 4-го в наборе в качестве примера. Остальные в значительной степени идентичны:
oPPT.ActiveWindow.View.GotoSlide Index:=5 + (4 * dIndex)
' SET OBJECT & CHART REFERENCES
Set shapeObject = oPPT.ActivePresentation.Slides(5 + (4 * dIndex)).Shapes("Chart 4")
Set myChart = shapeObject.Chart
Set gChartData = myChart.ChartData
Set gWorkbook = gChartData.Workbook
Set gWorksheet = gWorkbook.Worksheets(1)
' SET VALUES
gWorksheet.Range("B2").Value = myWs.Range("Y" & dRow).Value
gWorksheet.Range("B3").Value = myWs.Range("AA" & dRow).Value
gWorksheet.Range("B4").Value = myWs.Range("Z" & dRow).Value
gWorksheet.Range("B5").Value = myWs.Range("X" & dRow).Value
Set shapeObject = Nothing
Set myChart = Nothing
Set gChartData = Nothing
Set gWorksheet = Nothing
gWorkbook.Close
Set gWorkbook = Nothing
Ошибки абсолютно случайны и возникают каждый раз на разных итерациях. Я обнаружил, что 1-й раз, когда я запускаю никогда не производит PPT перестала работать ошибка. Последующие могут.
Есть идеи? Я сбит с толку тем, что здесь происходит.
Обратите внимание, что я повторяю набор шаблонов на столько наборов, сколько мне нужно, прежде чем перебирать книгу Excel. Например, если на листе Excel 10 строк, я дублирую 4 слайда шаблона 10 раз, прежде чем вносить какие-либо изменения в данные базового набора.
Возможно, есть проблема времени?