Как я буду автоматически обновлять несколько слайдов в PowerPoint, который имеет ссылку в Excel и имеет коды VBA? - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть файл Excel, который состоит из данных и на отдельном листе, я создаю графики (столбец, линия и пончик). Я использовал специальную вставку из моих созданных графиков в Excel в PowerPoint, чтобы она была связана. Может кто-нибудь сказать мне, какой будет синтаксис для обновления этих других слайдов? Спасибо

Это мой код, и он работает только на первом слайде моей презентации.

Sub Refresh(ParamArray var() As Variant)

Dim pApp As Object
Dim pPreso As Object
Dim pSlide As Object
Dim sPreso As String



    sPreso = "/Users/USER/Desktop/company/Presentation1.pptx"

        On Error Resume Next
            Set pApp = GetObject(, "PowerPoint.Application")
                If Err.Number <> 0 Then
                    Set pApp = CreateObject("PowerPoint.Application")
                    pApp.Visible = True
                End If

        On Error Resume Next
            Set pPreso = pApp.Presentations(sPreso)
                If Err.Number <> 0 Then
                    Set pPreso = pApp.Presentations.Open(Filename:=sPreso)
                End If

Dim varSize As Integer
Dim i As Integer


    varSize = UBound(var) - LBound(var) + 1

    For i = 0 To (varSize - 1)
        pPreso.Slides(1).Shapes(var(i)).LinkFormat.Update
    Next i

End Sub

Когда я закрываю приложение для Excel и PPT, а затем снова открываю его, когда я пытаюсь изменить файл Excel, автоматически обновляется только первый слайд в PPT, я хочуобновить все слайды в моей презентации Powerpoint.

1 Ответ

0 голосов
/ 07 ноября 2019

Я думаю, что вы должны пройти через все слайды, может быть, так:

Dim sld
For Each sld In pPreso.Slides
    For i = 0 To (varSize - 1)
        sld.Shapes(Var(i)).LinkFormat.Update
    Next i
Next sld
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...