保留复制/粘贴和重命名文件夹中包含的粘贴特殊链接


2

我具有使用粘贴特殊链接选项从Excel图表到Powerpoint幻灯片的链接,以便在打开Powerpoint时可以轻松更新图表。Powerpoint和Excel文件都包含在同一文件夹中,但是信息需要每月更新。我的公司想为每个月创建一个新文件夹,所以这里有前几个月的信息档案。

我以为有一种方法可以复制/粘贴带有链接的文件夹并重命名它,同时保持链接包含在新重命名的文件夹中,因为所有内容都在一起,并且没有指向该文件夹外部的链接。但是,当我检查新文件夹中的PowerPoint时,链接仍然全部指向原始文件夹中的Excel文件。因此,链接从指向文件夹内的文件到指向文件夹外的文件。

我知道我可以编辑链接以指向新文件夹,在这种情况下,仅需10分钟,因为它们很少,但是我想知道是否有办法自动保留链接。

我今天早上第一次尝试复制/粘贴/重命名时,我最近才用原本通过电子邮件发送给自己的较新副本进行保存,从而替换了原文件夹中的少量文件。当时,当我在新重命名的文件夹中查看PowerPoint时,这些特定文件已更新其路径以匹配新文件夹,而其他文件则没有。我仔细检查并重新链接了所有图表,包括旧文件夹中覆盖的文件中的图表,然后重复了复制/粘贴/重命名。我检查了这个新文件夹中的PP,所有链接都指向旧文件夹,没有一个指向新文件夹。不知道这些选择的人是否更新了他们的链接是否是偶然。

我试图在其他地方找到答案,但似乎找不到任何能给出好的“不,不可能”或“这是您的做法”答案的东西。

想法?建议?解决方案?还是我每次创建新文件夹时都必须手动更新链接?

Answers:


0

另一种方法:

每次更新时,不要将更新的文件复制/粘贴到新文件夹,而是每次将更新的文件复制到同一文件夹中:

一月:将您的Excel文件和PPT文件放入\ CurrentMonth文件夹。根据需要创建链接。

2月:将Excel文件从\ CurrentMonth复制到\ January,然后将新的Excel文件复制到\ CurrentMonth,覆盖旧的Excel文件。

以此类推。将目录名称更改为适当的名称。


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代码以更新超链接并每月启动。如果您查看答案之一,则应该知道。

一种或另一种方法不要期望开箱即用的特定功能。您需要调整自己的流程(以其他方式执行)或创建代码来执行特定于您的环境和流程的任务。


这应该适用于从Excel到PowerPoint文件的链接,但是我认为OP正在寻求从PowerPoint文件到Excel的链接。
史蒂夫·林德斯堡'17

@SteveRindsberg –非常感谢或指出。它实际上在两个方向上都有效,我更新了答案。
miroxlav

我在工作簿中的自己的工作表上放置了图表,所以我的问题是我应该在哪里放置超链接单元格(也许在具有从图表中提取数据的工作表上?),然后是否需要指示特定的工作表?它在文件上吗?另外,从PPT链接时,我是否使用粘贴特殊链接选项,还是定期粘贴然后添加超链接?如果我尝试编辑粘贴特殊链接,则它只能让我从文件目录中选择,而不能输入所需的内容。
Grymmlock

这是另一个问题吧?因此,将超链接单元格放在最适合您的位置。您可以获取当前工作表的名称,并使用function或其部分返回值HYPERLINK()函数中以友好名称使用它。新手信息:如果答案有帮助,请单击左侧的绿色复选标记以接受。还要支持所有有用和高质量的答案。CELL()
miroxlav '17

我一直在尝试使其工作,但PowerPoint 2016不允许我创建指向Excel工作表的相对链接。每次尝试时,它都会自动恢复为绝对路径。
Grymmlock '17

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中运行(由于存在97中不支持的“替换”命令)。
  • 该宏仅适用于超链接和OLE链接,不适用于操作设置。但是某些操作设置(大多数“链接到”设置)也是超链接,因此,到其他文件的链接(无论是超链接还是操作设置)通常都可以与此宏一起使用。

请参阅如何在PowerPoint中使用VBA代码?了解如何使用此示例代码。


1
请在参考链接中引用答案的关键部分,因为如果链接页面发生更改,答案可能会失效。
DavidPostill

@ Lu'u,感谢您的编辑。您如何获得关键字和对话框字符串的颜色?
Bandersnatch

编辑补充说<!-- language: lang-vb -->
DavidPostill
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.