2009-09-17 4 views
1

편지 병합을위한 원본 문서로 사용되는 Word 문서가 있습니다. 문서를 편집 할 수는 있지만 병합에 사용되는 데이터는 수정할 수 없습니다. 데이터 소스의 일부 데이터를 변환해야합니다. 구체적으로 숫자 (예 : 342)를 가져와 값을 단어 (예 : "3 백 42 개 (342)")에 추가해야합니다. 변환을 수행 할 VBA 함수를 작성할 수 있지만 그 함수에 데이터를 가져 오는 것이 가장 좋은 방법인지는 잘 모르겠습니다.Word에서 VBA를 사용하여 프로그래밍 방식으로 편지 병합 데이터를 변경하려면 어떻게해야합니까?

문서의 특정 지점과 매크로를 연결하여 병합 프로세스가 변환 프로세스를 유도 할 수있는 방법이 있습니까? (Word 필드에서 수식을 사용하는 방법에 대해 생각하고 있는데, 문서에 이미 { IF { MERGEFIELD foo } > 75 { MERGEFIELD foo } { = { MERGEFIELD foo } * 20 } } 등의 몇 가지 항목이 있습니다. 내가 추가 할 수 있다면 { FUNCTION WordNum { MERGEFIELD number } }이 이상적입니다.)

또는, VBA를 사용하여 편지 병합의 데이터 소스 (특히 document.MailMerge.DataSource)에서 바보를 치고 필드를 다시 쓸 수 있다고 생각합니다. 해당 경로로 이동하면 데이터 소스에서 데이터를 읽은 후 데이터가 문서에 병합되기 전에 데이터를 가져올 수 있도록 매크로를 어디에 실행해야합니까?

답변

0

임베디드 Word 매크로에서 임의 함수를 호출하는 방법이없는 것 같습니다. 그래서 VBA 경로를갔습니다.

AutoOpen 매크로를 MailMerge.EditDataSource이라는 소스 문서에 추가 한 다음 테이블을 이동하여 변경했습니다.

0

Microsoft Query에서 데이터 변환을 수행 할 수 있습니까? 나는 'Word에서 편지 병합하지만 난 돈을 사용하기 때문에 그것은 잠시이었다

Data Source -> Microsoft Query -> Mail Merge Template 

: 데이터 소스 및 Word 사이에있는 마이크로 소프트 쿼리를 만들

Data Source -> Mail Merge Template 

: 그건 당신이 현재있는 곳입니다 그걸 제어 할 수 있다는 것을 기억하십시오 ...

+0

할 수 없습니다. 데이터를 생성하고 병합을 수행하는 타사 프로그램에 Word 문서를 제공합니다. (더 정확하게는 프로그램이 샘플 데이터 세트를 사용하여 편지 병합 문서를 설정 한 다음 해당 문서를 편집 할 수있게합니다. 문서의 내용을 변경할 수는 있지만 대부분의 다른 부분은 수정할 수 없습니다.) – asciiphil