2009-07-22 24 views
1

私は、メールマージ(同じメイン文書、異なるデータソース)の結果であるMSWord文書(約40,000)の大量のコレクションを持っています。メールマージされたWord文書からMergeField値をプログラムで取得します

マージフィールドの1つは、テキストが「はい」または「いいえ」のテキストフィールドです。

マージフィールドが「はい」に設定されているドキュメントを簡単にリストする方法はありますか? (私は約10,000の "はい"文書を期待しています)

私は、Word自体、Office Automation、バイナリファイルのヘキサダンプ、特定の魔法のためのグリッピング、または既製のツール(perlスクリプト、.NETアプリなど)があります。

ファイルは、LinuxとWindowsの両方のボックスからアクセスできるネットワーク共有にあります(必要であればMacを盗むことができるかもしれません)ので、ツールが実行されているプラ​​ットフォームがあまりにも心配していません。

答えて

1

Word 2007文書の場合は、ファイル形式がXMLであるため、はるかに簡単です。 (Word 2003の場合でも、デフォルトではないが、XMLドキュメントとして保存することができます)。ただし、これらは標準の(バイナリ)ファイル形式を使用する標準のWord 2003文書です。

バイナリファイル形式を直接処理できるツールがあり、ドキュメントを処理できるテキストファイルに変換できるツールがあると思います。おそらく、ドキュメントの直前に表示されるテキストを検索できますフィールド、例えば"真剣ですか:"。 (実行時間の面ではなく、最も遅い、)

しかし

、最も簡単な/最も簡単な方法は、各ドキュメントを開いてフィールドを検索し、結果を抽出するために、VBAのプログラムを書くことであろう。それはかなり簡単なVBAだろうし、あなたはWord自体でそれを行うことができます(これはコードがWordの既存の実行中のインスタンスを使用できることを意味する)。私はあなたが数時間でそれを取得し、実行している可能性が言うと思います - それはその作業を行った一方で、あなたはいくつかのより多くの時間まで足を入れることができます:-)

+0

うん、それはでの状況の私の評価です瞬間私はバイナリプロセッサオプション、またはVBAルートとしてwvWareを使用することを検討していました。誰かがa)既存のツール/ VBAスクリプトの提案、またはb)どこのバイナリフォーマットでドキュメントを見るかを知りたいと思っていました。 – Stobor

関連する問題