Refre sh Встроенные данные Excel в диаграммах Powerpoint - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь автоматизировать создание колоды PowerPoint, которую я создаю несколько раз в неделю. Я использую программу под названием Alteryx для обновления встроенных файлов Excel для всех моих диаграмм в PowerPoint, и эта часть прекрасно работает. У меня проблема в том, что после открытия PowerPoint все диаграммы выглядят так же, как и были изначально. Только когда я нажимаю кнопку «Изменить данные», PowerPoint, кажется, читает изменения в Excel и обновляет диаграмму. У меня есть более 50 диаграмм, которые мне нужно обновить, и щелчок по редактированию данных на каждом из них занимает очень много времени.

Можно ли создать макрос, который обновит sh всех графиков в моей колоде?

Заранее благодарим вас за потраченное время!

Обновление 1

Я попытался использовать следующий код из другого поста, но в результате получилось 50 открытых рабочих книг.

Dim pptChart As Chart
Dim pptChartData As ChartData
Dim pptWorkbook As Object
Dim sld As Slide
Dim shp As Shape

For Each sld In ActivePresentation.Slides
    For Each shp In sld.Shapes
        If shp.HasChart Then
            Set pptChart = shp.Chart
            Set pptChartData = pptChart.ChartData
            pptChartData.Activate
            shp.Chart.REFRESH

            On Error Resume Next
            On Error GoTo 0

        End If
    Next
Next

Set pptWorkbook = Nothing
Set pptChartData = Nothing
Set pptChart = Nothing

Я пытался использовать следующий код, чтобы открыть и закрыть все встроенные книги, но это приводит к ошибке в этой части "ActiveWindow.View.GotoSlide s.Slideindex"

Sub refreshchart()
    Dim ppApp As PowerPoint.Application, sld As Slide
    Dim s As PowerPoint.Shape
    Dim gChart As Chart, i As Integer
    ppApp.Visible = True
    i = 3
     Set sld = ActivePresentation.Slides(i)
    sld.Select

For Each s In ActivePresentation.Slides(i)
    If s.Type = msoEmbeddedOLEObject Then
      s.Select                               'select the object
        s.OLEFormat.Activate                 'Activate it (like 2x click))
        ActiveWindow.Selection.Unselect      'To let it close
        ActiveWindow.View.GotoSlide s.Slideindex  'make current slide active
     End If
Next s

 End Sub

Макрос, который открывает рабочие книги для обновления sh диаграмм и автоматически закрывает их, был бы великолепен. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...