편지 병합을위한 원본 문서로 사용되는 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
)에서 바보를 치고 필드를 다시 쓸 수 있다고 생각합니다. 해당 경로로 이동하면 데이터 소스에서 데이터를 읽은 후 데이터가 문서에 병합되기 전에 데이터를 가져올 수 있도록 매크로를 어디에 실행해야합니까?
할 수 없습니다. 데이터를 생성하고 병합을 수행하는 타사 프로그램에 Word 문서를 제공합니다. (더 정확하게는 프로그램이 샘플 데이터 세트를 사용하여 편지 병합 문서를 설정 한 다음 해당 문서를 편집 할 수있게합니다. 문서의 내용을 변경할 수는 있지만 대부분의 다른 부분은 수정할 수 없습니다.) – asciiphil