1

我有大量的 MSWord 文档(大约 40,000 个),它们是邮件合并的结果(相同的主文档,不同的数据源)。

合并字段之一是可以具有文本“是”或“否”的文本字段。

有没有一种简单的方法可以列出哪些文档的合并字段设置为值“是”?(我预计大约有 10,000 个“是”文件。)

我会对任何方法感兴趣,无论是使用 Word 本身、Office 自动化、十六进制转储二进制文件和 grepping 以获取某些魔法,还是任何可以做这类事情的现成工具(perl 脚本、.NET 应用程序等) .

这些文件位于可从 Linux 和 Windows 机器访问的网络共享上(如果有必要,我可能会窃取 Mac 一段时间),所以我不太担心这些工具在哪个平台上运行......

4

1 回答 1

1

如果它们是 Word 2007 文档,它会容易得多,因为文件格式是 XML。(即使使用 Word 2003,您也可以将其另存为 XML 文档,尽管它不是默认设置)。但是,我假设这些是使用默认(二进制)文件格式的标准 Word 2003 文档。

我相信有一些工具可以直接处理二进制文件格式,并且可能能够将文档转换为文本文件,然后您可以处理 - 大概您可以搜索出现在该字段之前的一些文本,例如“你是认真的吗:”。

但是,最简单/最简单的方法(但就执行时间而言最慢)是编写一个 VBA 程序来打开每个文档,搜索字段并提取结果。这将是非常简单的 VBA,您可以在 Word 本身中执行此操作(这意味着代码可以使用现有的 Word 运行实例)。我会说你可以在几个小时内启动并运行它——然后你可以在它工作的时候再站起来几个小时:-)

于 2009-07-22T12:47:42.520 回答