【问题标题】:Replace hyperlinks inside Word documents from outside Microsoft Word从 Microsoft Word 外部替换 Word 文档中的超链接
【发布时间】:2017-02-23 22:53:36
【问题描述】:

假设我有一个名为document.doc 的标准Word 文档。 在本文档中,有一些已不存在的服务器的超链接。我希望用适当的链接替换链接,由于我必须对许多文件执行此操作,我希望有一种方法可以自动化它。

如何将超链接更改为 Microsoft Office 外部的其他内容?最好在 Linux/Unix 环境中。

我注意到文档中的所有超链接都以明文形式存储,可供查看

strings document.doc | grep -i "hyperlink"

因此,我尝试了一种简单的sed 方法来就地编辑:

sed -ir 's/www.badlink.com/www.goodlink.com/' document.doc

然后我再次调用strings 确认超链接已更改。但是,使用sed 后,MS Word 无法打开该文档——它表明该文件已损坏。

那么,有没有什么简单的方法可以通过 Linux/Unix 工具来编辑 Microsoft Word 文档中的链接?在最坏的情况下,我想这个任务可以通过一些 Microsoft Office 宏来完成。如果这是唯一的可能性,那也没关系。

【问题讨论】:

    标签: linux ms-word


    【解决方案1】:

    DOC 不是 RTF,您无法使用简单的文本编辑器对其进行编辑。

    您可以轻松地使用 VBA 宏\使用单词 Interop 库的一些其他语言 - 执行这个简单的搜索和替换,查看更多信息

    https://msdn.microsoft.com/en-us/library/f1f367bx.aspx

    现在这取决于您的需求,如果您需要在服务器端执行此操作,您始终可以使用 OpenOffice 或更好的 Aspose(商业许可的第 3 部分库)来执行这些操作(相当昂贵但值得每一分钱 - google他们)

    如果您需要在 CLIENT 端执行此操作,并且(假设客户端使用 word,意味着他们正在运行 Windows)您可以使用 VBA 宏 \Office 插件来执行此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-08
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多