以编程方式从邮件合并Word文档中检索合并字段值

时间:2009-07-22 00:44:28

标签: search ms-word grep file-format mailmerge

我有大量的MSWord文档(大约40,000),这是mailmerges(相同的主文档,不同的数据源)的结果。

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

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

我会对任何方法感兴趣,无论是使用Word本身,Office自动化,对二进制文件进行重复数据删除以及为某些魔法进行渲染,还是任何可以执行此操作的现成工具(perl脚本,.NET应用程序等)有点像。

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

1 个答案:

答案 0 :(得分:1)

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

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

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