图像文件:-)

图像文件:-)

我正在 Dropbox 文件夹中处理一个 word 文档。我想插入一个 pdf 对象,该对象将由脚本单独更新。问题是“插入”>“对象”>“从文件创建”中的链接对象由绝对路径指定C:\Hugh\Dropbox\figures\foo.pdf。当其他人编辑该文件时,我返回该文件,该对象已损坏并且链接已断开。

我想通过相对路径指定路径..\figures\foo.pdf(我的 Word 文档在\Dropbox\thedoc.docx。最佳做法是什么?我试过输入,..\figures\foo.pdf但失败了。

即使需要将图形和 docx 文件放在同一目录中的解决方案也是可以接受的。

答案1

最后一篇帖子微软论坛上的这个帖子包含一种可能的方法。为了方便未来的读者,我将在此处复制该内容。

笔记:这种方法似乎不适用于“嵌入式对象”,而只适用于简单的图像文件(有关详细信息,请参阅答案的底部)。


图像文件:-)

第一的备份你的 WORD 文件。然后将.docx文件重命名为.zip(因为它毕竟只是一个 zip 文件)。解压 zip 文件并word/_rels/document.xml.rels使用文本编辑器打开该文件。您应该会找到类似于以下内容的部分:

<Relationship
      Id="rId9"
      Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"
      Target="file:///C:\Hugh\Dropbox\figures\foo.png"
      TargetMode="External" />

只需从每个条目的目标行中删除路径:Target="foo.png"

然后保存文件并再次压缩文件夹(或者,如果您的存档管理器支持,则仅将修改后的文件复制到原始 zip 文件中)。将文件重命名.zip.docx并尝试使用 Word 打开它。希望它不会抱怨。


嵌入或链接的对象:-(

嵌入或链接的 OLE 对象与链接的图像文件处理方式不同。它们在文件中使用不同的语法指定word/document.xml。例如,嵌入的 Visio 文件可能如下所示:

<w:instrText xml:space="preserve"> LINK Visio.Drawing.11 "\\\\path\\to\\file.vsd" "" \a \p \f 0 \* MERGEFORMAT </w:instrText>

不幸的是,我无法成功将路径缩短为"file.vsd"".\\file.vsd"(该文件与 Word 文档位于同一目录中)。Word 在尝试打开文档时抱怨文档已损坏。如果您告诉它修复文档,它将删除整个w:instrText块。

相关内容