2009-07-22 8 views
1

메일 요약 (동일한 주 문서, 다른 데이터 원본)의 결과 인 많은 MSWord 문서 (약 40,000 개)가 있습니다.편지 병합 된 Word 문서에서 MergeField 값을 프로그래밍 방식으로 검색합니다.

병합 필드 중 하나는 "예"또는 "아니요"라는 텍스트를 가질 수있는 텍스트 필드입니다.

병합 필드의 값을 "예"로 설정 한 문서를 쉽게 나열 할 수 있습니까? (나는 약 10,000 개의 "예"문서를 기대하고있다.)

Word 자체, Office 자동화, 바이너리 파일의 hexdumping 및 특정 마법에 대한 grepping 사용 여부에 관계없이 모든 접근 방식에 관심이있다. (펄 스크립트,. NET 애플 리케이션 등)이 일을 할 수 있습니다.

파일은 Linux 및 Windows 상자에서 모두 액세스 할 수있는 네트워크 공유에 있습니다. 따라서 필요한 경우 잠시 동안 Mac을 훔칠 수 있습니다. 따라서 도구가 실행되는 플랫폼에 대해 너무 걱정하지 않아도됩니다.

답변

1

Word 2007 문서의 경우 파일 형식이 XML이므로 훨씬 쉬울 것입니다. (Word 2003에서도 XML 문서로 저장할 수 있지만 기본값은 아닙니다.) 그러나이 파일들은 기본 (이진) 파일 형식을 사용하는 표준 Word 2003 문서라고 가정합니다.

바이너리 파일 형식을 직접 처리 할 수있는 도구가 있으며 문서를 처리 할 수있는 텍스트 파일로 변환 할 수있는 툴이 있다고 생각합니다. 아마도 텍스트 파일을 검색 할 수 있습니다. 필드 "너 진심이야?"

그러나 가장 간단하지만 (실행 시간면에서 가장 느린) 방법은 각 문서를 열고 필드를 검색하고 결과를 추출하는 VBA 프로그램을 작성하는 것입니다. VBA는 매우 간단 할 것입니다. Word 자체에서이 작업을 수행 할 수 있습니다. 이는 코드가 기존의 Word 인스턴스를 사용할 수 있음을 의미합니다. 나는 당신이 그것을 몇 시간 내에 가동시킬 수 있다고 말하고 싶습니다. - 그 일을하는 동안 당신은 몇 시간 더 발을 올려 놓을 수 있습니다 :-)

+0

그래, 그게 내 상황을 평가 한거야. 순간. 나는 바이너리 프로세서 옵션이나 VBA 경로로 wvWare를 사용할 것을 고려하고 있었다. 나는 누군가에게 a) 기존 도구/VBA 스크립트에 대한 제안 또는 b) 보이는 바이너리 형식의 위치에 대한 몇 가지 문서가 있었으면한다. – Stobor

관련 문제