2

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

Я подумал, что есть способ скопировать / вставить папку со ссылками и переименовать ее, сохраняя ссылки, содержащиеся во вновь переименованной папке, поскольку все все вместе и нет ссылок, которые указывают за пределы папки. Однако, когда я проверяю PowerPoint в новой папке, ссылки все еще указывают на файлы Excel в исходной папке. Таким образом, ссылки идут от указания на файлы в папке к указанию на файлы вне папки.

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

В первый раз, когда я попытался скопировать / вставить / переименовать этим утром, я недавно заменил небольшое количество файлов в исходной папке, сохранив поверх них более новые копии, которые я отправил себе по электронной почте из дома. Когда я посмотрел на PowerPoint в недавно переименованной папке, эти конкретные файлы обновили свои пути, чтобы соответствовать новой папке, а другие - нет. Я просмотрел и заново связал все диаграммы, в том числе из перезаписанных файлов, в старой папке, затем повторил копирование / вставку / переименование. Я проверил PP в этой новой папке, и все ссылки указывали на старую папку, и ни одна не указывала на новую. Не уверен, было ли это случайностью, что те, кто выбирают несколько, обновили свои ссылки или нет.

Я пытался найти ответ в другом месте, но не могу найти ничего, что дало бы хороший ответ «Нет, это невозможно» или "Вот как вы это делаете".

Идеи? Предложения? Решения? Или мне просто придется вручную обновлять ссылки каждый раз, когда создается новая папка?

3 ответа3

2

Нет способа использовать копирование и вставку. Но в качестве обходного пути вы можете использовать

Самое простое решение: использовать относительный путь в гиперссылках

Если у вас есть файлы в той же папке, например:

Monthly Report Calculation.xlsx
Monthly Report.pptx

Затем вы можете связать между PPTX и XLSX в обоих направлениях, если вы используете относительные пути.

В PowerPoint убедитесь, что вы создали ссылку на Monthly Report Calculation.xlsx (который в основном есть .\Monthly Report Calculation.xlsx , путь относительно текущего каталога вашего файла PPTX), а не к D:\Data\Monthly Report Calculation.xlsx (который является абсолютным путем).

В Excel вы можете использовать следующую формулу внутри вашего Monthly Report Calculation.xlsx:

=HYPERLINK("Monthly Report.pptx")

Или также с понятным отображаемым именем:

=HYPERLINK("Monthly Report.pptx", "Monthly Report")

Теперь вы можете копировать свои файлы в любое место, и ссылки из PowerPoint в Excel и обратно будут работать в любом каталоге, где эти файлы остаются вместе.

Помните, что путь, который я показал в формуле Excel, был введен как относительный, поэтому вы можете перемещаться по каталогам, если вам нужно:

=HYPERLINK("..\Presentations\Monthly Report.pptx", "Monthly Report")

Такая же ссылка на каталог работает в поле гиперссылки в PowerPoint. Проверено.


Другой возможностью является создание собственного кода VBA для обновления гиперссылок и запуска его каждый месяц. Если вы проверите один из ответов, вы должны получить представление.

Тот или иной подход, не ожидайте конкретных функций из коробки. Вам нужно либо настроить процесс на своей стороне (сделать это по-другому), либо создать код для выполнения задач, специфичных для вашей среды и процессов.

0

Другой подход:

Вместо копирования / вставки в новую папку при каждом обновлении копируйте обновленные файлы в одну и ту же папку каждый раз:

Январь: поместите файл Excel и файл PPT в папку \CurrentMonth. Создавайте ссылки по мере необходимости.

Февраль: скопируйте файл Excel из \CurrentMonth в \January, затем скопируйте новый файл Excel в \CurrentMonth, перезаписав старый файл Excel.

И так на каждый месяц. Измените имена каталогов на любые подходящие.

0

На этой веб-странице представлен макрос поиска и замены для PowerPoint. Я не проверял это, но решение с этой страницы следующее:

Решение

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

Вот код:

Option Explicit

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

        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

Ограничения

  • Макрос работает только в PowerPoint 2000 или более поздней версии. Он не будет работать в PowerPoint 97 (из-за команды Replace, которая не поддерживается в 97).
  • Макрос работает только с гиперссылками и ссылками OLE, а не с настройками действий. Но некоторые настройки действий (большинство из них относятся к ссылкам) также являются гиперссылками, поэтому ссылки на другие файлы, будь то гиперссылки или настройки действий, обычно будут работать с этим макросом.

См. Как использовать код VBA в PowerPoint? чтобы узнать, как использовать этот пример кода.

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