我正在做一个完全用TCL编码的自动化项目。项目的一部分要求读取Microsoft Word文档,并使用TCL脚本修改Word文档中的一行。我尝试使用tcom包,但由于word文档损坏,在对该文档进行更改时遇到了问题。所以伙计们,如果有人能帮助我,我将非常感谢。
注意:脚本也可以在Shell中。在这种情况下,我将从我的tcl脚本调用shell脚本。
谢谢
发布于 2013-05-08 20:32:19
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流。对于使用结构化存储文档的先前版本的word来说,在非windows系统上处理这种格式是一项艰巨的任务。
发布于 2013-05-08 21:30:54
在Unix上操作MS Office文档有点痛苦,而且(据我所知)没有Tcl包可以做到这一点。您最好的选择可能是使用类似于Apache POI的东西进行集成工作,并将该Java库作为外部进程(即,编写一个集成的小型Java应用程序)驱动,或者通过在Java进程内的JTcl解释器中运行您的Tcl。
https://stackoverflow.com/questions/16438954
复制相似问题