1

Мне нужно скопировать презентацию PowerPoint в разных странах, а затем отправить презентации коллегам и дать им возможность редактировать диаграммы.

Для этого я создал файл Excel, который содержит данные для всех стран и таблицу данных, которая использует vlookups для одновременного просмотра данных по одной стране. Затем у меня есть презентация PowerPoint, которая содержит около 30 диаграмм, связанных с таблицей данных. Чтобы создать презентацию страны, я сохраняю копию презентации PowerPoint и файл Excel - по одной копии для каждой страны - и затем изменяю страну на листе данных, чтобы обновить презентацию (после обновления ссылок в файле с помощью макроса).

У меня проблема в том, что если я просто отправлю файл PowerPoint коллегам, они не смогут редактировать диаграммы. Если я также отправлю файл Excel, они все равно не смогут редактировать диаграммы, не изменив ссылки на место, в котором они сохраняют файл - что не является приемлемым решением.

Я искал решение, но безрезультатно.

Я был бы признателен, если бы кто-нибудь мог предоставить способ реализации одного из приведенных ниже решений с использованием макроса или предложить другое, о котором я не думал:

  • Измените все связанные диаграммы в презентации на встроенные диаграммы
  • Измените абсолютные ссылки в PowerPoint на относительные, чтобы при сохранении файла Excel в той же папке, что и презентация, можно было редактировать диаграммы

Спасибо!!

Саймон

3 ответа3

1

Этот код может помочь. Но вам нужно вставить диаграмму в PowerPoint как связанный объект OLE.

Option Explicit

Sub HyperLinkSearchReplace()

    Dim oSl As Slide
    Dim oSh As Shape
    Dim sSearchFor As String
    Dim sReplaceWith As String

    sSearchFor = InputBox("What text should I search for?", "Search for ...")
    If sSearchFor = "" Then
        Exit Sub
    End If

    sReplaceWith = InputBox("What text should I replace it with" & vbCrLf _
        & sSearchFor & vbCrLf _
        & "with?", "Replace with ...")
    If sReplaceWith = "" Then
        Exit Sub
    End If

    On Error Resume Next

    For Each oSl In ActivePresentation.Slides

        For Each oSh In oSl.Shapes
            If oSh.Type = msoLinkedOLEObject _
            Or oSh.Type = msoMedia Then
               oSh.LinkFormat.SourceFullName = _
               Replace(oSh.LinkFormat.SourceFullName, _
               sSearchFor, sReplaceWith)
            End If
        Next

    Next    ' slide

End Sub
0

Если вы начинаете с файлов Excel и файлов PPT в одном каталоге и затем связываете их, то, в зависимости от версии PPT на принимающей стороне, все может работать нормально, если файлы PPT и XL остаются в одном каталоге вместе, независимо от из какого каталога это. Другие версии не будут работать таким образом. 2010 кажется.

За исключением этого исключения, ссылки на XL и другой контент OLE должны быть полностью исправлены; относительный путь не сработает.

Это одна из тех неудачных ситуаций, когда связывание и встраивание имеют свои преимущества и недостатки, но вы не можете выбрать, какой из них вы хотите.

0

Я думаю, вам нужно скопировать и вставить диаграммы из Excel в Powerpoint определенным образом. Второй вариант из шага 5 в руководстве от Microsoft гласит, что нужно вставить специальное сообщение, и оно будет включать доступ ко всей книге.

https://support.office.com/en-US/Article/Copy-Excel-data-or-charts-to-PowerPoint-f5f84f7b-b566-47fa-8c67-c95b8d14e7a3?ui=en-US&rs=en-US&ad= США # bmpastechartpowerpoint

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .