0

我正在开发一个我在 TCL 中完全编码的自动化项目。项目的一部分需要读取 Microsoft Word 文档并使用 TCL 脚本修改该 Word 文档中的一行。我尝试使用 tcom 软件包,但在更改该文档时遇到了问题,因为 word 文档已损坏。所以,如果有人可以帮助我,我将非常感激。

注意:脚本也可以在 Shell 中。在这种情况下,我将从我的 tcl 脚本调用 shell 脚本。

谢谢

4

2 回答 2

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 流。对于以前使用结构化存储文档的 word 版本,您将面临在非 Windows 系统上处理格式的艰巨挑战。

于 2013-05-08T12:32:19.460 回答
1

在 Unix 上操作 MS Office 文档有点痛苦,而且没有 Tcl 包可以这样做(据我所知)。您最好的选择可能是使用Apache POI之类的东西进行集成工作,并将该 Java 库作为外部进程(即编写一个集成的小型 Java 应用程序)或通过在 Java 进程内的JTcl解释器中运行 Tcl 来驱动.

于 2013-05-08T13:30:53.653 回答