Как создать динамические гиперссылки в PowerPoint? - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь связать презентацию PowerPoint с данными в Excel.Однако excel и powerpoint будут менять места каждый день.

Вот моя методология: - Копировать из Excel - Вставить специальную ... Вставить ссылку ... Как: объект Microsoft Excel Worksheet (code)

Это позволяет мне в режиме реального времени редактировать документ Excel и обновления PowerPoint в режиме реального времени.

Однако, когда я меняю местоположение документа Excel, все более 100 ссылок не работают.

Как динамически установить путь ссылок, чтобы они всегда следовали правильному документу Excel, независимо от того, где находится документ Excel?В документе Excel никогда не будет названо изменение, равно как и PowerPoint.

Я искал решение более 6 месяцев ... Спасибо.

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

На моем сайте PPTFAQ есть страница с кодом, который может помочь:

Пакетный поиск и замена гиперссылок, ссылок OLE, ссылок фильмов и звуковых ссылок http://www.pptfaq.com/FAQ00773_Batch_Search_and_Replace_for_Hyperlinks-_OLE_links-_movie_links_and_sound_links.htm

Вот конкретный код ... он имеет дело как с гиперссылками, так и с ссылками OLE (т. Е. С вашими ссылками в Excel). Вы можете удалить гиперссылку, если вам это не нужно, и передать новый путь в качестве параметра, а не получать его из InputBox:

Sub HyperLinkSearchReplace()

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

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

    sReplaceWith = InputBox("What text should I replace" & 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 oHl In oSl.Hyperlinks
            oHl.Address = Replace(oHl.Address, sSearchFor, sReplaceWith)
            oHl.SubAddress = Replace(oHl.SubAddress, sSearchFor, sReplaceWith)
        Next    ' hyperlink

        ' and thanks to several astute user suggestions, let's fix OLE links 
        ' and movie/sound linkes too
        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 голосов
/ 11 мая 2018

Вы можете связать данные из сохраненной электронной таблицы Excel или скопировать ячейки из электронной таблицы Excel в свою презентацию Microsoft PowerPoint 2010.

https://support.office.com/en-us/article/import-data-from-excel-into-powerpoint-3ec295e9-1bfd-47ff-8d7d-8b838caef853

...