当 OneDrive 位于不同路径时,在 PowerPoint 演示文稿中链接 OneDrive 媒体

当 OneDrive 位于不同路径时,在 PowerPoint 演示文稿中链接 OneDrive 媒体

我有几个包含链接视频的 PPTX 演示文稿(由于文件大小而未嵌入)。演示文稿本身和视频都存储在 OneDrive 中。

但是,在我家用的电脑上有多个驱动器时,OneDrive 位于 D: 盘,而在我的 Surface 平板电脑上,它位于 C: 盘,而且 PowerPoint 中的媒体链接似乎存储为绝对路径,因此当我在平板电脑上时找不到视频。

有没有办法让 PowerPoint 为此使用相对路径,或者使用 Onedrive 作为“起始目录”?

答案1

有没有办法让 PowerPoint 使用相对路径

根据我的经验,在 Windows 10 上的当前 PowerPoint 365 中:

PowerPoint 商店绝对链接的外部文件的路径,即使这些文件与演示文稿 ( .pptx) 文件位于同一目录中。

PowerPoint 将这些路径存储在(压缩)文件内的文件的 XML 元素Target的属性中。<Relationship>ppt\slides\_rels\slide*.xml.rels.pptx

在这里,我将我的回答限制在 PowerPoint 自身的行为上,而不涉及对这些Target属性值进行任何外部手动编辑。

我的回答到此结束。其余的是相关的附言;我认为对原始问题感兴趣的任何人都会发现这些信息很有趣。


假设您.pptx在 OneDrive 中有一个文件,其中的外部链接文件位于同一目录中.pptx或子目录中(这里,我引用了音频.wav文件,因为这是我用于测试的文件):

...OneDrive\...\Parent folder\presentation.pptx
...OneDrive\...\Parent folder\audio1.wav
...OneDrive\...\Parent folder\folder1\audio2.wav

将父文件夹及其内容复制到另一个位置。例如:

C:\temp\Parent folder\presentation.pptx
C:\temp\Parent folder\audio1.wav
C:\temp\Parent folder\folder1\audio2.wav

从 下的新位置打开演示文稿的副本C:\temp

在 PowerPoint 中播放音频。可以,没问题。

将演示文稿以新文件名保存在同一目录中C:\temp。例如,"C:\temp\Parent folder\presentation-relocated.pptx"

退出 PowerPoint。

展开-relocated.pptx文件,查看对应的属性值,它们仍然指向的是文件在OneDrive中Target的原始路径。.wav

到目前为止对我来说没有什么惊喜。

重命名 OneDrive 下的原件"Parent folder"。例如,重命名为"Parent folder - renamed"

打开演示文稿的其中一个副本C:\temp(原始副本或-relocated.pptx,无所谓)。

让我们暂停一下,考虑一下我们做了什么:我们打开了一个引用外部文件路径的演示文稿,不复存在,因为我们已经重命名了这些路径中的一个目录。

在 PowerPoint 中播放音频。可以,没问题。

等等,什么?!怎么办?

将演示文稿以新文件名保存在同一目录中C:\temp。例如,"C:\temp\Parent folder\presentation-after-renaming-original-path.pptx"

退出 PowerPoint。

展开-after-renaming-original-path.pptx文件并查看相应的Target属性值。

它们仍然是绝对路径,但是现在请参阅.wav下的文件C:\temp!不仅适用于与.pptx文件位于同一目录中的音频文件,还适用于子目录中的音频文件folder1

这让我很惊讶:当 PowerPoint 无法在指定的绝对路径中找到链接文件时,它会在相对于当前.pptx文件的路径中查找它们,如果找到它们,则更新链接以指向那些新的绝对路径。

经过深思熟虑,我可以理解为什么 PowerPoint 开发人员决定采用这种行为:如果你移动演示文稿及其(相邻的)链接文件,那么您希望链接在新位置起作用。您希望新位置的演示文稿引用新位置的链接文件。潜在的陷阱:如果您复制而不是移动(即,如果链接文件仍在其原始位置),那么 PowerPoint惯于更新链接路径以引用新位置。虽然我认为这是正确的行为——“首选”指定位置——但我希望所有这些都能更好地记录下来。也许是的;也许我只是忽略了那些文档。

如果有人能向我指出微软描述此行为的公开文档,我将不胜感激。

再做一个实验...

删除以下位置的音频文件C:\temp

C:\temp\Parent folder\audio1.wav
C:\temp\Parent folder\folder1\audio2.wav

C:\temp打开其中一个仍引用其原始 OneDrive 路径中的音频文件的演示文稿:"C:\temp\Parent folder\presentation.pptx""C:\temp\Parent folder\presentation-relocated.pptx"不是 "C:\temp\Parent folder\presentation-after-renaming-original-path.pptx")。

(尝试)在 PowerPoint 中播放音频。PowerPoint 显示以下错误消息:

PowerPoint 无法找到链接的多媒体文件“C:\Users\myusername\OneDrive ... .wav”

这里的区别是,除了原来的OneDrive路径不再可用之外,C:\temp其下也没有可供PowerPoint使用的音频文件。

关于这些实验的一些说明,以及可能进一步调查的指针(现在,我将把它留给其他人):

  • .pptx当从 OneDrive 复制到其他位置时,我故意保留了( )父文件夹的原始名称"Parent folder",除非 — — 再次故意 — — 我将其重命名以“破坏”与外部文件的链接。
  • 我也保留了相同的.pptx文件名。
  • 如果父文件夹和/或文件名发生更改,PowerPoint 是否能够在新位置找到外部文件.pptx?我认为对于每个这样的组合,答案都是肯定的,但我还没有测试过它们。

我希望这项调查能帮助其他人了解 PowerPoint 在此领域的行为。查看文件Target内的相应属性值绝对有帮助.pptx

答案2

我决定在两台电脑上创建一个新驱动器。在 PC 1 上的命令提示符下:

subst O: C:\Users\cleese\OneDrive

在 PC 2 上:

subst O: D:\Users\cleese\OneDrive

现在将所有路径改为 O:...,这样在两个环境中都可以找到视频。

笔记:如何使 SUBST 映射在重启后仍然存在?

答案3

有没有办法让 PowerPoint 使用相对路径

对于文件链接(与 OLE 链接相反),如果将视频/声音/图像/等文件放在与 PowerPoint 文件本身相同的目录中创建链接时,您通常会获得一个相对链接;也就是说,链接将仅指向文件名,没有路径。

相关内容