我有几个包含链接视频的 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:...,这样在两个环境中都可以找到视频。
答案3
有没有办法让 PowerPoint 使用相对路径
对于文件链接(与 OLE 链接相反),如果将视频/声音/图像/等文件放在与 PowerPoint 文件本身相同的目录中前创建链接时,您通常会获得一个相对链接;也就是说,链接将仅指向文件名,没有路径。