2017-02-23 95 views
0

假设我有一个标准的Word文档document.doc。 在本文档中,有超链接指向一些不再存在的服务器。我希望替换这个链接,因为我必须对许多文件执行此操作,所以我希望有一种方法可以将它自动化。从Microsoft Word以外的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宏完成。如果这是唯一的可能性,那也没关系。

回答

1

DOC不是RTF,你不能用简单的文本编辑器编辑它。

,你可以很容易地使用VBA宏\一些其他语言中使用这个词的Interop库 - 做这个简单的搜索&更换,以获取更多信息检查

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

现在,这取决于你的需要,如果你需要在服务器端做到这一点,你可以随时使用OpenOffice或更好的Aspose(商业授权的第三方库)来做这些事情(相当昂贵,但值得每一分钱 - 谷歌他们)

如果你需要这样做在客户端,并且(假设客户使用word ,意味着它们正在运行Windows)可以使用VBA宏\ Office插件来完成。

相关问题