我的客户要求我生成一份 Powerpoint 报告,其中包含许多链接到 Excel 数据文件的图表。
我的问题是,虽然演示幻灯片是静态的,但它们的数据是动态的。
我想将图表数据链接到 Excel 文件(我可以在其中放置宏),但问题是在客户端的 PC 上,由于 Excel 文件链接到我的 PC 上的特定路径,事情会变得混乱。
有没有办法使用相对路径?
OLE 链接(如指向 XLS 数据的链接)不能是相对的。
在 Office 的过去版本中,如果在链接指向的路径上找不到链接源 XLS,PPT 将在与 PPT 本身相同的目录中查找该文件,如果在那里找到,将使用它。 MS 似乎已经“改进”了该功能。 据我所知,它不再起作用了。
不过,您可以将文件放在特定目录中,并在目标 PC 上创建相同的目录。
或者,如果您可以在客户端运行代码,请提供一个宏来查找与 PPT 相同的目录中的文件,并将链接重置为指向该目录。
客户需要看到图表背后的数据吗? 如果没有,那么您可以断开图表上的链接并向他们发送未链接的版本(基本上只是图表的图片) 如果他们需要查看图表背后的数据或更改图表格式,您可能需要使用嵌入式图表或 Excel 对象并将链接粘贴到数据表中。 我目前使用的是第二种方法,但是发现链接不太稳定(在没有打开源文件的情况下打开图表往往会使数据发生变化,用VBA打破链接并不是小菜一碟。
旧线程,但这是一个新答案:
假设以下示例: 带有链接的 Powerpoint 演示文稿位于此处 /CommonParent/MyPresentation/main.pptx 我想用 main.pptx 中的链接打开的 Powerpoint 演示文稿位于:/CommonParent/OtherFolder/popup.pptx
pptx 文件是一个 ZIP 文件,其中包含构成演示文稿的 xml 文件。
记下包含要修复的链接的幻灯片编号。 假设链接位于幻灯片 22 上。
使用 7-zip 等 zip 文件工具打开 main.pptx 文件。
在 zip 工具中,导航至 ppt/slides/_rels/slide22.xml.rels
将文件 slip22.xml.rels 从 zip 目录复制到临时中立位置
在文本编辑器中打开文件slide22.xml.rels
改变
Target="file:///C:
保存slide22.xml.rels
将slide22.xml.rels复制回main.pptx zip文件,覆盖旧版本
main.pptx 中的链接现在应该可以正常运行并按预期工作。