2009-07-22 411 views
1

我有大量MSWord文檔(大約40,000),它們是mailmerges(相同主文檔,不同數據源)的結果。以編程方式從郵件合併Word文檔檢索MergeField值

其中一個合併字段是文本字段,可以有文本「是」或「否」。

是否有一種簡單的方法可以列出哪些文檔將合併字段設置爲值「是」? (我期待大約10,000個「是」的文檔。)

我會對任何方法感興趣,無論是使用Word本身,Office自動化,hexdumping二進制文件和grep對於某些魔法,或任何現成的工具(Perl腳本,.NET應用程序等),可以做這種事情。

這些文件位於可從Linux和Windows盒子訪問的網絡共享中(如果需要,我可能會盜用一段時間的Mac),所以我並不擔心工具在哪個平臺上運行。

回答

1

如果他們是Word 2007文檔,它會容易得多,因爲文件格式是XML。 (即使在Word 2003中,您也可以將其保存爲XML文檔,但這不是默認設置)。但是,我認爲這些是使用默認(二進制)文件格式的標準Word 2003文檔。

我相信有些工具可以直接處理二進制文件格式,並且可以將文檔轉換爲可以處理的文本文件 - 假設您可以搜索出現在字段,例如「你是認真的嗎:」。

但是,最簡單/最簡單的方法(就執行時間而言最慢)將是編寫一個VBA程序來打開每個文檔,搜索該字段並提取結果。這將是非常簡單的VBA,你可以在Word中完成它(這意味着代碼可以使用Word的現有運行實例)。我會說你可以在幾個小時內完成並運行 - 然後你可以把它的腳擡高几個小時,而它的工作:-)

+0

是的,這是我的評估情況在時刻。我正在考慮使用wvWare作爲二進制處理器選項或VBA路由。我希望有人可以a)對現有工具/ VBA腳本的建議,或者b)關於二進制格式的外觀的一些文檔。 – Stobor 2009-07-23 00:38:19

相關問題