我有几个包含链接视频的 PPTX 演示文稿(由于文件大小而未嵌入)。演示文稿本身以及视频都存储在 OneDrive 中。
但是,在我有多个驱动器的家用 PC 上,OneDrive 在 D: 上,而在我的 Surface 平板电脑上,它在 C: 上,并且似乎 PowerPoint 中的媒体链接存储为绝对路径,因此当我找不到视频时我在我的平板电脑上。
有没有办法让 PowerPoint 为此使用相对路径,或者使用 Onedrive 作为“起始目录”?
我有几个包含链接视频的 PPTX 演示文稿(由于文件大小而未嵌入)。演示文稿本身以及视频都存储在 OneDrive 中。
但是,在我有多个驱动器的家用 PC 上,OneDrive 在 D: 上,而在我的 Surface 平板电脑上,它在 C: 上,并且似乎 PowerPoint 中的媒体链接存储为绝对路径,因此当我找不到视频时我在我的平板电脑上。
有没有办法让 PowerPoint 为此使用相对路径,或者使用 Onedrive 作为“起始目录”?
根据我的经验,在 Windows 10 上的当前 PowerPoint 365 中:否。
PowerPoint 存储链接的外部文件的绝对路径,即使这些文件与演示文稿 (
.pptx
) 文件位于同一目录中也是如此。PowerPoint 将这些路径存储在(压缩)文件内的文件中的XML 元素的
Target
属性中。<Relationship>
ppt\slides\_rels\slide*.xml.rels
.pptx
在这里,我将我的答案限制在 PowerPoint 自身的行为上,而不涉及对这些
Target
属性值进行任何外部手动编辑。我的回答到此结束。其余为相关后记;我认为任何对原始问题感兴趣的人都会感兴趣的信息。
假设您
.pptx
在 OneDrive 中有一个文件,外部链接的文件要么位于与 相同的目录中,.pptx
要么位于子目录中(这里,我引用音频.wav
文件,因为这是我用于测试的文件):将父文件夹及其内容复制到另一个位置。例如:
从 下的新位置打开演示文稿的副本
C:\temp
。在 PowerPoint 中播放音频。工作,没问题。
将演示文稿保存在同一目录下
C:\temp
的新文件名中。例如,"C:\temp\Parent folder\presentation-relocated.pptx"
。退出 PowerPoint。
展开
-relocated.pptx
文件并查看相应的Target
属性值。它们仍然引用.wav
OneDrive 中文件的原始路径。到目前为止,这对我来说没有什么惊喜。
"Parent folder"
重命名OneDrive 下的原始文件。例如,对"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将不会更新链接路径以引用新位置。虽然我认为这是正确的行为——“更喜欢”指定的位置——但我希望所有这些都得到更好的记录。也许是;也许我只是忽略了那些文档。
如果有人可以向我指出描述此行为的 Microsoft 公开文档,我将不胜感激。
再来一个实验...
删除下的音频文件
C:\temp
:打开其中的演示文稿之一,该演示文稿
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 显示以下错误消息:
这里的不同之处在于,除了原始的 OneDrive 路径不再可用之外,
C:\temp
PowerPoint 下没有音频文件可以替代使用。关于这些实验的一些注释,以及可能的进一步调查的指针(现在,我将把它留给其他人):
.pptx
("Parent folder"
) 的父文件夹的原始名称,除非我再次故意重命名它以“破坏”外部文件的链接。.pptx
文件名。.pptx
如果父文件夹和/或文件名中的一个/两个都已更改,PowerPoint 是否能够在新位置找到外部文件?我喜欢认为每种组合的答案都是肯定的,但我还没有测试过它们。我希望这项调查有助于其他人了解 PowerPoint 在这方面的行为。
Target
查看文件中相应的属性值肯定会有所帮助.pptx
!我决定在两台 PC 上创建一个新驱动器。在 PC 1 上的命令提示符处:
在 PC 2 上:
现在将所有路径更改为 O:...,视频将在两个环境中找到。
注意:如何使 SUBST 映射在重新启动后保持不变?
对于文件链接(相对于 OLE 链接),如果您在创建链接之前将视频/声音/图像/等文件与 PowerPoint 文件本身放在同一目录中,通常会得到一个相对链接;也就是说,链接将只指向文件名,没有路径。