我正在开发一个自动化项目,我在TCL中完全编码。项目的一部分要求使用TCL脚本读取Microsoft Word文档并修改该Word文档中的一行。我尝试使用tcom包,但我在更改文档时遇到问题,因为word文档已损坏。所以,如果有人能帮助我,我会非常感激。
注意:该脚本也可以在Shell中。在这种情况下,我将从我的tcl脚本调用shell脚本。
由于
答案 0 :(得分:1)
tcom是一个仅限Windows的扩展,允许Tcl与COM对象进行交互。要使用tcom自动化Microsoft Word,您实际上正在运行Word可执行文件,因此这只能在Windows上完成。
要在unix上执行此操作,您需要找到一些可以为您修改Word文档的unix应用程序。 Tcl不会有任何可以执行此操作的unix扩展,并且您必须操作的文件格式将取决于所使用的Word版本。如果文件是docx文件,那么它实际上是一个包含XML文档的zip格式文件。您可以使用tclvfs扩展的zipvfs子组件来安装zip文档,然后您可以使用tdom(tcl XML文档对象模型扩展)来检查和修改XML流。对于使用结构化存储文档的以前版本的单词,您在处理非Windows系统上的格式时会遇到困难。
答案 1 :(得分:1)
在Unix上操作MS Office文档有点痛苦,而且没有Tcl包这样做(据我所知)。您最好的选择可能是使用Apache POI之类的东西进行集成工作,并将该Java库作为外部进程(即编写一个集成的小型Java应用程序)或在{{3中运行Tcl Java进程中的解释器。