Keep Paste Специальные ссылки, содержащиеся в папке копирования / вставки и переименования

796
Grymmlock

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

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

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

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

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

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

2

3 ответа на вопрос

2
miroxlav

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

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

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

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 для обновления гиперссылок и запуска его каждый месяц. Если вы проверите один из ответов, вы должны получить представление.

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

Это должно работать для ссылок из Excel в файлы PowerPoint, но я думаю, что OP ищет ссылку из файлов PowerPoint в Excel. Steve Rindsberg 6 лет назад 0
@SteveRindsberg - большое спасибо или указывает на это. Это на самом деле работает в обоих направлениях, и я обновил ответ. miroxlav 6 лет назад 0
У меня есть диаграммы на их собственных листах в книгах, поэтому мой вопрос заключается в том, куда мне поместить ячейку Гиперссылки (может быть, на лист, содержащий данные, из которых извлекается диаграмма?), И тогда мне нужно будет указать конкретный лист это как и файл? Кроме того, при связывании из PPT я должен использовать параметр специальной ссылки вставки или регулярно вставлять, а затем добавлять гиперссылку? Если я пытаюсь редактировать специальную ссылку для вставки, она позволяет мне выбирать только из каталога файлов, а не вводить то, что я хочу. Grymmlock 6 лет назад 0
Это другой вопрос, верно? Поэтому размещайте гиперссылки там, где это наиболее удобно для вас. Вы можете получить имя текущего листа и использовать его в понятном имени в функции `HYPERLINK ()`, используя функцию `CELL ()` или [часть возвращаемого значения] (https://exceljet.net/formula/get-sheet- имя-только). Информация для новичков: если ответ был полезен, пожалуйста, примите его, нажав зеленую галочку слева. Также upvote всех полезных и качественных ответов. miroxlav 6 лет назад 0
Я пытался заставить это работать, но PowerPoint 2016 не позволит мне создать относительную ссылку на листы Excel. Каждый раз, когда я пытаюсь это сделать, он автоматически возвращается к абсолютному пути. Grymmlock 6 лет назад 0
@Grymmlock - интересно, потому что он работал для меня в PowerPoint 2016. Не могли бы вы попробовать связать файл Excel, используя форму `. \ File.xlsx` вместо простого` file.xlsx`? miroxlav 6 лет назад 0
Вот как я это сделал, и, похоже, он не хочет работать. Он стирает. \ И делает путь абсолютным. После нескольких исследований я думаю, что это может быть связано с тем, что при вставке ссылки в PPT из Excel создается ссылка OLE, а не ссылка на файл. И после перечитывания моего OP я не думаю, что действительно дал понять, что я делаю операцию Paste Special: Link. : / Grymmlock 6 лет назад 0
@Grymmlock - Да, создать ссылку на файл вручную. Тогда это работает. Есть ли какая-то ценность в создании ссылки с использованием copy-paste? Не думаю. Не могли бы вы попытаться создать простую ссылку на файл? Пример: 1. Вставить прямоугольник. 2. Щелкните правой кнопкой мыши и выберите пункт ** Гиперссылка ... ** 3. В поле выбора файла гиперссылки убедитесь, что путь относительный. miroxlav 6 лет назад 0
Смысл создания ссылки с копированием вставки состоял в том, что диаграммы, находящиеся на каждом слайде, могут автоматически обновляться, а не заменять их вручную каждый месяц. Это помогает сохранить единообразие форматирования и является хорошим сдерживающим фактором от благонамеренных коллег. Grymmlock 6 лет назад 0
0
Bandersnatch

На этой веб-странице представлен макрос поиска и замены для 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? чтобы узнать, как использовать этот пример кода.

Пожалуйста, процитируйте основные части ответа по ссылочной ссылке (ссылкам), так как ответ может стать недействительным, если связанные страницы изменятся. DavidPostill 6 лет назад 1
@ Lu'u, спасибо за редактирование. Как вы получили цвета для ключевых слов и строк диалогового окна? Bandersnatch 6 лет назад 0
Редактор добавил ` ` DavidPostill 6 лет назад 0
0
Steve Rindsberg

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

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

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

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

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

Похожие вопросы