从Microsoft Word外部替换Word文档中的超链接

时间:2017-02-23 14:47:09

标签: linux ms-word

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

如何从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宏完成任务。如果这是唯一的可能性,那也没关系。

1 个答案:

答案 0 :(得分:1)

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

你可以使用单词Interop库轻松使用VBA宏\其他语言 - 进行简单搜索和替换,查看更多信息

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

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

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