假设我有一个称为 document.doc
的标准文档文档。在此文档中,某些服务器有超链接不再存在。我希望用Aproper One替换该链接,并且由于我必须对许多文件进行此操作,因此我希望有一种自动化的方法。
如何将超链接更改为Microsoft Office外部的其他内容?最好在Linux/Unix环境中。
我注意到文档中的所有超链接都以明文存储,可以通过
查看 strings document.doc | grep -i "hyperlink"
我因此尝试了一种简单的sed
方法来编辑:
sed -ir 's/www.badlink.com/www.goodlink.com/' document.doc
i然后确认超链接已通过再次调用strings
改变了。但是,使用sed
后,该文档无法由MS Word打开 - 它指出文件已损坏。
那么,是否有任何简单的方法可以通过Linux/Unix工具在Microsoft Word文档中编辑链接?在最坏的情况下,我想可以使用一些Microsoft Office宏来完成任务。如果这是唯一的可能性。
doc不是RTF,您不能使用简单的文本编辑器编辑。
您可以使用Interop库一词轻松地使用VBA Macro 其他一些语言 - 进行此简单搜索&替换,以获取更多信息检查
https://msdn.microsoft.com/en-us/library/f1f367bx.aspx
现在取决于您的需求,如果您需要在服务器端执行此操作,则可以随时使用OpenOffice或更好的Aspose(商业许可的第三部分库)来完成这些事情(相当昂贵,但值得每一分钱-Google他们)
如果您需要在客户端执行此操作,并且(假设客户端使用Word,则意味着他们正在运行Windows),您可以使用VBA Macro Office Addin进行。